1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-10 01:22:48 +03:00
Files
mariadb-columnstore-engine/dbcon/mysql/syscatalog_mysql.sql
Leonid Fedorov f5b2a6885f MCOL-5013: Load Data from S3 into Columnstore
Introduced UDF and stored prodecure.
usage:

set columnstore_s3_key='<s3_key>';
set columnstore_s3_secret='<s3_secret>';
set columnstore_s3_region='region';

and then use UDF
select columnstore_dataload("<tablename>", "<filename>", "<bucket>", "<db_name>");
for UDF db_name can be ommited, then current connection db will be used

or stored function
call calpontsys.columnstore_load_from_s3("<tablename>", "<filename>", "<bucket>", "<db_name>");
2022-07-04 19:52:37 +03:00

59 lines
2.2 KiB
SQL

-- SYSTABLE
create database if not exists calpontsys;
use calpontsys;
drop table if exists systable restrict;
drop table if exists syscolumn restrict;
create table if not exists systable (tablename varchar(128),
`schema` varchar(128),
objectid int,
createdate date,
lastupdate date,
init int,
next int,
numofrows int,
avgrowlen int,
numofblocks int,
autoincrement int) engine=columnstore comment='SCHEMA SYNC ONLY';
-- SYSCOLUMN
create table if not exists syscolumn (`schema` varchar(128),
tablename varchar(128),
columnname varchar(128),
objectid integer,
dictobjectid integer,
listobjectid integer,
treeobjectid integer,
datatype integer,
columnlength integer,
columnposition integer,
lastupdate date,
defaultvalue varchar(64),
nullable integer,
scale integer,
prec integer,
autoincrement char(1),
distcount integer,
nullcount integer,
minvalue varchar(64),
`maxvalue` varchar(64),
compressiontype integer,
nextvalue bigint) engine=columnstore comment='SCHEMA SYNC ONLY';
DELIMITER //
CREATE OR REPLACE PROCEDURE columnstore_load_from_s3 (in tablename varchar(256) CHARACTER SET utf8,
in filename varchar(256) CHARACTER SET utf8,
in bucket varchar(256) CHARACTER SET utf8,
in dbname varchar(256) CHARACTER SET utf8)
LANGUAGE SQL
NOT DETERMINISTIC
MODIFIES SQL DATA
SQL SECURITY INVOKER
BEGIN
select columnstore_dataload(tablename, filename, bucket, dbname);
END //
DELIMITER ;