导出表数据至MiniO
EXPORT TABLE users
TO "s3://backup/"
WITH BROKER
(
"aws.s3.endpoint" = "http://192.168.8.197:9000",
"aws.s3.access_key" = "backup",
"aws.s3.secret_key" = "backup1111"
);
users: 是tables名字
s3://backup/:Bucket名字
aws.s3.endpoint :对象存储地址
aws.s3.access_key:访问对象存储时所用到的AK(Access Key)
aws.s3.secret_key:访问对象存储时所用到的SK(Secret Key)
从MiniO中导入表数据
1、先创建表结构
找研发要创建表结构的SQL语句
2、使用LOAD BROKER方式导入minio中的CSV格式的表数据
LOAD LABEL prod
(
DATA INFILE("s3://greenpioneeriotuat/data_b38cbe2a-4a27-11ef-9277-0242ac180003_0_0.csv")
INTO TABLE total_combine_active_energy
)
WITH BROKER
(
"aws.s3.endpoint" = "http://10.84.3.128:9000",
"aws.s3.enable_ssl" = "false",
"aws.s3.access_key" = "backup",
"aws.s3.secret_key" = "backup1111",
"aws.s3.use_aws_sdk_default_behavior" = "false",
"aws.s3.use_instance_profile" = "false",
"aws.s3.enable_path_style_access" = "true"
)
PROPERTIES
(
"timeout" = "72000"
);
3、检查是否导入成功或者导入进度
SELECT * FROM information_schema.loads;
total_combine_active_energy: 导入数据后生成的表名字
aws.s3.endpoint :对象存储地址
DATA INFILE:数据源路径,上方例子是从对象存储的greenpioneeriotuat桶中导入data_b38cbe2a-4a27-11ef-9277-0242ac180003_0_0.csv文件
aws.s3.enable_ssl:是否启用ssl加密方式传输
aws.s3.access_key:访问对象存储时所用到的AK(Access Key)
aws.s3.secret_key:访问对象存储时所用到的SK(Secret Key)
aws.s3.use_aws_sdk_default_behavior:不使用AWS SDK的默认行为,AWS SDK有其预设的认证和配置机制
aws.s3.use_instance_profile:是否使用EC2实例的IAM角色(Instance Profile)作为认证来源
aws.s3.enable_path_style_access:使用路径样式访问S3
timeout:导入数据时的超时时间,单位s
从本地导入表数据
curl --location-trusted -u root -H "label:label1" \
-H "Expect:100-continue" \
-H "column_separator:|" \
-H "max_filter_ratio:0.2" \
-T ./data_dir/lineorder.tbl -XPUT \
-H "timeout: 86400" \
http://192.168.8.198:8030/api/ssb/lineorder/_stream_load
注意:本地导入,前提是表结构提前准备好
--location-trusted:curl信任重定向,为了处理可能的重定向请求,通常在内部网络中使用。
-u root: HTTP基本认证,其中root是用于认证的用户名。密码通常在-u之后用冒号分隔,或者curl会提示输入密码。
-H "label:label1": HTTP头,其中label是流式加载任务的唯一标识符。它可以帮助追踪和管理导入任务的状态。
-H "Expect:100-continue": 这个HTTP头告诉服务器客户端准备好发送数据体,等待服务器确认后再继续发送数据。这在发送大文件时有助于节省带宽和处理时间。
-H "column_separator:|": 这个头指定了数据文件中列与列之间的分隔符。在这个例子中,列是用竖线|分隔的。
-H "max_filter_ratio:0.2": 这个头设置了一个过滤比率,用于控制数据加载过程中数据过滤的程度。例如,0.2意味着最多可以过滤掉20%的数据行。
-T ./data_dir/lineorder.tbl: 这个选项指定了要上传的本地文件。在这里,文件是./data_dir/lineorder.tbl。
-XPUT: 这个选项指定了HTTP方法为PUT,这意味着客户端希望替换或更新服务器上的资源。
-H "timeout: 86400": 这个头设置了请求的超时时间,单位是秒。86400秒等于一天,这意味着请求将在一天后超时。
http://192.168.8.198:8030/api/ssb/lineorder/_stream_load: 这是目标URL,指向数据导入的API端点。在这个例子中,数据将被发送到IP地址192.168.8.198上的8030端口,具体到/api/ssb/lineorder/_stream_load路径,这通常是用于处理SSB(Star Schema Benchmark)数据的流式加载接口。
仅登录用户可评论,点击 登录