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

相关推荐
ZNineSun15 小时前
新一代MPP数据库:StarRocks
starrocks·olap·数据湖·mpp·oltp
StarRocks_labs8 天前
腾讯大数据基于 StarRocks 的向量检索探索
starrocks·人工智能·搜索引擎·开源
漫步者TZ18 天前
Starrocks 对比 Clickhouse
数据库·starrocks·clickhouse
小Tomkk18 天前
Docker 部署 Starrocks 教程
运维·starrocks·docker·容器
书忆江南1 个月前
StarRocks BE源码编译、CLion高亮跳转方法
starrocks·源码·编译·be
鸿乃江边鸟1 个月前
StarRocks 怎么让特定的SQL路由到FE master节点的
大数据·starrocks·sql
大鳥1 个月前
深入了解 StarRocks 表类型:解锁高效数据分析的密码
数据库·starrocks·sql
京河小蚁2 个月前
StarRocks 生产部署一套集群,存储空间如何规划?
starrocks
一条路上的咸鱼2 个月前
StarRocks元数据无法合并
starrocks