[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 小时前
MQTT教训(一)物联网中连接数暴涨导致服务崩溃的预防方案与教训总结
broker·mqtt教训·连接数暴涨
jakeswang10 天前
去哪儿StarRocks实践
starrocks·后端
鸿乃江边鸟11 天前
Starrocks中的 Query Profile以及explain analyze及trace命令中的区别
大数据·starrocks·sql
鸿乃江边鸟12 天前
Starrocks ShortCircuit短路径的调度
大数据·starrocks·sql
镜舟科技13 天前
什么是列存储(Columnar Storage)?深度解析其原理与应用场景
starrocks·数据分析·列存储·行存储·mpp分布式架构
大数据狂人17 天前
深入剖析 StarRocks 与 Hive 的区别、使用场景及协同方案实践
大数据·starrocks·hive·数仓
StarRocks_labs22 天前
Lakehouse x AI ,打造智能 BI 新体验
大数据·starrocks·人工智能·iceberg·lakehouse·智能bi·湖仓分析
StarRocks_labs24 天前
StarRocks × MinIO:打造灵活高效的存算分离方案
数据库·starrocks·数据查询·存算分离·minlo
StarRocks_labs1 个月前
StarRocks Community Monthly Newsletter (Jun)
数据库·starrocks·数据湖·物化视图·存算分离