当前位置: 首页 > article >正文

doris使用使用broker从HDFS导入数据

前提:doris使用broker导入需要单独部署broker,我这边看着部署教程都是不带broker部署部分的。

1.建表

我测试环境的hive数据是用时间分区,在导入时总是报错

type:ETL_QUALITY_UNSATISFIED; msg:quality not good enough to cancel

使用SHOW PARTITIONS FROM demo.`table1`发现没有我导入数据所对应的分区

解决办法:用如下建表语句在新建时就把分区建好,其中比较关键的是"dynamic_partition.create_history_partition" = "true"这个参数。由于默认是false,所以不管设置"dynamic_partition.start" = "-300",这个参数为多大,历史分区就是建不起来,如果导入的数据分区是用历史时间命名,需要带上第一个参数为true才能新建出来历史分区。

建表语句

HDFS导入doris

CREATE TABLE demo.`table1` (
  `a` decimal(10, 0) NULL COMMENT "a",
  `b` varchar(65533) NULL COMMENT "b",
  `c` varchar(65533) NULL COMMENT "c",
  `date` int NULL COMMENT ""
) ENGINE=OLAP 
DUPLICATE KEY(`a`)
COMMENT "测试表"
PARTITION BY RANGE(`date`) 
(
    PARTITION `p20240301` VALUES LESS THAN ("20240302"),
    PARTITION `p20240302` VALUES LESS THAN ("20240303"),
    PARTITION `p20240303` VALUES LESS THAN ("20240304")
)
DISTRIBUTED BY RANDOM
PROPERTIES (
    "dynamic_partition.enable" = "true",
    "dynamic_partition.time_unit" = "DAY",
    "dynamic_partition.start" = "-300",
    "dynamic_partition.end" = "3",
    "dynamic_partition.prefix" = "p",
    "dynamic_partition.buckets" = "1",
    "dynamic_partition.replication_num" = "1",
    "dynamic_partition.create_history_partition" = "true"
)
;

2.导入

导入语句

use demo;
LOAD LABEL load_table1
(
    DATA INFILE("hdfs://ip:port/user/hive/warehouse/table1/*/*")
    INTO TABLE table1
    FORMAT AS "ORC"
    (
a,b,c
    )
    COLUMNS FROM PATH AS (date)
 )
 WITH BROKER broker1
(
    "hadoop.security.authentication" = "kerberos",
    "kerberos_principal" = "xxx/xxx@HADOOP.COM",
    "kerberos_keytab" = "/opt/keytabs/xxx.keytab"
)
PROPERTIES
(
    "timeout" = "72000"
);

3.查看导入结果

show load order by CreateTime desc;


http://www.kler.cn/a/381596.html

相关文章:

  • MySQL变量
  • PyQt5 学习方法之悟道
  • 将Minio设置为Django的默认Storage(django-storages)
  • WebPack3项目升级webpack5的配置调试记录
  • Node Version Manager (nvm) -管理不同版本的 Node.js
  • 全局流量管理:提升用户体验与保障服务稳定性
  • ArcGIS/QGIS按掩膜提取或栅格裁剪后栅格数据的值为什么变了?
  • 域名自动重定向8080端口无法访问后端服务问题
  • C++算法练习-day37——112.路径总和
  • pyspark基础准备
  • Spring Boot 配置文件启动加载顺序
  • 录屏天花板,录课新玩法,人像+一切,PPT/PDF/视频/网页,也可即可录
  • 使用Mybatis-plus出现数据库id很大或者为负数情况排查解决
  • VUE2升级成VUE3的优化与区别
  • Linux第三讲:环境基础开发工具使用
  • Qt 练习做一个登录界面
  • 使用java从提前pdf中的文字
  • golang通用后台管理系统03(登录校验,并生成token)
  • DolphinScheduler资源中心
  • 中电金信:企业数据赋能效果差,科学试错体系了解一下?
  • 《“躺赢”能否成为2025年新时代的掘金之旅?——直播间答题测试类小程序的新机遇与挑战》
  • PyTorch核心概念:从梯度、计算图到连续性的全面解析(三)
  • 【STM32】通过 DWT 实现毫秒级延时
  • 【Linux】IPC进程间通信System V:并发编程实战指南(二)
  • xcode更新完最新版本无法运行调试
  • Postman断言与依赖接口测试详解