hdfs和doris数据互相导数据

数据分析

2020-07-14

36

0

技术:doris

运行环境:doris

demo功能:提供一个从hdfs中导入数据到doris中的过程

前置条件

通常hive、spark等计算结果保存为orc文件,存储在hdfs中

hdfs导入doris命令

doris社区文档:http://doris.incubator.apache.org/master/zh-CN/administrator-guide/load-data/broker-load-manual.html#%E5%88%9B%E5%BB%BA%E5%AF%BC%E5%85%A5

命令demo:

LOAD LABEL vk_dw.任务名 ## 任务名,每次导入需要不一样
(
    DATA INFILE ("hdfs://hdfs_host:hdfs_port/tmp/liwei5/export-data-*") ## hdfs中orc文件路径, *表示该路径下全部问文件
    INTO TABLE doris表名 ##只是表名,不需要库名,所以执行命令时需要use db
    COLUMNS TERMINATED BY "分隔符" ##如果分隔符,
    (Col0,Col1) ##orc文件中的表头,一般情况和hive表结构相同。
    SET
    (
        online_class_id=Col0,
        book_class_scene=Col1
    )
)
WITH BROKER "hdfs_broker" ## broker名字, 和doris中的broker名字必须一致
(
	"username" = "hdfs用户名,无则不填",
	"password" = "hdfs密码,无则不填"
)
PROPERTIES
(
    "timeout" = "3600",##超时取消
    "max_filter_ratio" = "0.001" ##允许1%的数据导入失败
);

doris导出数据到hdfs

doris社区文档:http://doris.incubator.apache.org/master/zh-CN/administrator-guide/export-manual.html#%E5%90%8D%E8%AF%8D%E8%A7%A3%E9%87%8A

EXPORT TABLE 数据库.表 TO "hdfs://hdfs_host:hdfs_port/tmp/liwei5/"  ##数据保存在hdfs这个目录下
PROPERTIES
(
    "column_separator"="分隔符",
    "exec_mem_limit"="2147483648",  ## 任务最大内存限制
    "timeout" = "3600" ##任务超时时间,单位秒
)
WITH BROKER "hdfs_broker" ## broker名字
(
	"username" = "hdfs用户名",
	"password" = "hdfs密码"
);

导数据注意

  1. 分隔符选择偏门的, 不能是数据中包含的字符
  2. orc文件表头、doris表结构、load语句需要保持一致(load语句中的字段在orc文件和doris中必须存在)

欢迎添加微信,互相学习↑↑↑ -_-

发表评论

全部评论:0条

白老虎

programming is not only to solve problems, ways to think