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

[bug] StarRocks borker load意向之外的bug

意向之外,又清理之中

背景:

StarRocks各方面碾压相同类型的数据库,最近我们要从生成HIVE导历史数据(ORC格式)到StarRocks,前期小测一下,在测试是没问题,上生产先导2个月的数据,大概10T,但是在测试过程中,发现了一个问题。

LOAD LABEL test_db.label14
(
    DATA INFILE("hdfs://<hdfs_host>:<hdfs_port>/user/starrocks/data/input/example14.orc")
    INTO TABLE table14
    FORMAT AS "orc"
    (col1, col2, col3)
)
WITH BROKER
(
    "username" = "<hdfs_username>",
    "password" = "<hdfs_password>"
);

问题:

type:LOAD_RUN_FAIL; msg:Column: s_customer is not found in file: hdfs://xxx.xx.xx.x:9000/user/starrocks/data/input/example14.orc

很明显的问题,在源数据文件中没找到这个字段,想了想,历史数据以orc格式存在HDFS,orc列式存储,如果表结构修改,块里面的数据schema是不变化的,当StarRocks解析源文件块的时候,是找不到该字段的,自然要报错了;
而我们的业务对表结构是按需增加表字段,所以这个问题不可避免。

如何解决?

当用户有新增字段操作的时候,实际上我们维护了字段和表结构关系一张表,每增加一个或者多个字段都有相应的创建时间,那么我们用broker load导入数据的时候需要查一次数据库,这样的话关系就建立起来了,问题也解决了。

暂时没找到可以通过设置StarRocks参数来避免遇到的这个问题的。如果有请告诉我,谢谢。


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

相关文章:

  • 【Logstash03】企业级日志分析系统ELK之Logstash 过滤 Filter 插件
  • 嵌入式入门Day42
  • 工厂人员定位管理系统方案(二)人员精确定位系统架构设计,适用于工厂智能管理
  • Android Dex VMP 动态加载加密指令流
  • 非PHP开源内容管理系统(CMS)一览
  • mysql存储过程创建与删除(参数输入输出)
  • 《C 语言携手 PaddlePaddle C++ API:开启深度学习开发新征程》
  • SEO初学者-搜索引擎如何工作
  • 练习题:一维数组
  • pytest入门三:setup、teardown
  • 【WRF教程第3.3期】预处理系统 WPS 详解:以4.5版本为例
  • 第十四届蓝桥杯Scratch国赛真题—转动的车轮
  • Android 上集成 TikTok SDK及数据归因
  • c#基于tcp的打印机共享程序可以打印图片
  • redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip
  • HttpSevletRequest Body信息不能被多次读取的问题
  • Java-注解
  • ARM/Linux嵌入式面经(五七):东方微电
  • AIGC魔性视频创作教程,即梦AI、海螺AI、混元大模型、通义万相
  • 低代码/无代码开发平台下的API接口创新实践
  • 请求三方http工具
  • ElasticSearch08-分析器详解
  • SQL 自然连接(Natural Join)详解
  • 物理信息神经网络(PINN)八课时教案
  • 深度学习在日志分析中的应用:智能运维的新前沿
  • C#调用Python脚本的方式(一),以PaddleOCR-GUI为例