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

意向之外,又清理之中

背景:

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

sql 复制代码
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>"
);

问题:

shell 复制代码
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参数来避免遇到的这个问题的。如果有请告诉我,谢谢。

相关推荐
老徐电商数据笔记2 天前
电商实时数仓开发规范
starrocks·数据治理·实时数仓·selectdb·电商数据仓库
StarRocks_labs6 天前
StarRocks I/O 模型揭秘(一):查询是如何被拆解与调度的?
starrocks·sql·pipeline·mpp·fe
StarRocks_labs11 天前
从 Presto 到 StarRocks:作业帮架构升级实践
starrocks·sql·架构·iceberg·作业帮
代码派13 天前
MySQL数据如何实时同步到StarRocks?NineData实操指南 原创
数据库·starrocks·mysql·数据库管理·慢sql·ninedata·ddl变更
NineData13 天前
MySQL到StarRocks 同步链路中的建表、DDL 跟随与数据校验
运维·数据库·starrocks·mysql·数据迁移·数据库管理工具·ninedata
MARSERERER17 天前
StarRocks查询数据湖优点
starrocks
镜舟科技1 个月前
华农保险 x StarRocks:从单机瓶颈到架构焕新,探索 OLAP 的涅槃之路
starrocks·数据分析·olap·物化视图·金融行业·华农保险
鸿乃江边鸟1 个月前
Starrocks 主键查询和分区裁剪/bucket裁剪
大数据·starrocks