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

相关推荐
m0_375599738 小时前
StarRocks:存算一体模式部署
starrocks
极客先躯4 天前
rabbitMQ 架构详解
分布式·架构·rabbitmq·exchange·broker·queue·binding
一条路上的咸鱼15 天前
离线数据同步变迁
starrocks·数据同步
hankl199018 天前
StarRocks-同步hive数据
starrocks·数据仓库
一条路上的咸鱼21 天前
一种小资源情况下RDS数据实时同步StarRocks方案
starrocks·数据同步
roman_日积跬步-终至千里25 天前
【StarRocks】starrocks 3.2.12 【share-nothing】 多Be集群容器化部署
starrocks
crossoverJie1 个月前
推荐一些值得学习的开源项目和框架
starrocks·开源·pulsar
houzhizhen1 个月前
StarRocks 架构
starrocks
crossoverJie1 个月前
StarRocks 物化视图刷新流程及原理
数据库·starrocks