doris broker方式从hdfs导入数据到doris
·
LOAD LABEL db1.label1
(
DATA INFILE("hdfs://abc.com:8888/user/palo/test/ml/file1")
INTO TABLE tbl1
COLUMNS TERMINATED BY ","
(tmp_c1,tmp_c2)
SET
(
id=tmp_c2,
name=tmp_c1
),
DATA INFILE("hdfs://abc.com:8888/user/palo/test/ml/file2")
INTO TABLE tbl2
COLUMNS TERMINATED BY ","
(col1, col2)
where col1 > 1
)
WITH BROKER 'broker'
(
"username"="user",
"password"="pass"
)
PROPERTIES
(
"timeout" = "3600"
);
以上是官方文档给出的格式,
一、我亲测跑通的例子如下
LOAD LABEL ts_202111221719
(
DATA INFILE("hdfs://.../*.csv")
INTO TABLE `t1`
COLUMNS TERMINATED BY "\t"
(col1,...coln)
)
WITH BROKER hdfs_broker
(
"hadoop.security.authentication"="kerberos",
"kerberos_principal"="**",
"kerberos_keytab_content"="**"
)
PROPERTIES
(
"max_filter_ratio"="0.00002",
"timeout" = "3600"
);
如果列数一样的话set都不用写。
kerberos_principal写kerberos账号用户名,kerberos_keytab_content写kerberos账号密码,
用这个命令获取你的kerberos_keytab_content:
cat /your/keytab/file | base64
二、如果要在shell里定时调度的话,用doris连接语句 ,-e"上面的命令"就可以了。
三、需要注意的是,broker导入是异步导入,也就是说导入命令执行后,就提交成功了,需要用
show load where label="ts_202111221719";
这个命令去查看当前导入的进度。
有三个状态:
CANCELLED :导入失败,可查看http链接报错原因,我有出现过几次字段数不够的错误
LOADING:正常导入中。
FINISHED:导入完成。
官方文档:
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)