Broker load 同步orc文件

【详述】Broker load对orc文件进行同步,表字段为uid,app_version,但是并不想同步app_version字段,而是用set将app_version通过衍生列的方式传递给starrocks中的app_version_4search字段
【背景】用过在columns_list中使用tmp,再在set中使用app_version_4search=tmp的方式,但是报错,如图一
【业务影响】想用衍生字段,必须在columns_list中定义app_version,但是定义了app_version,starrocks表的app_version字段也会更新,会影响该字段的数据
【StarRocks版本】2.3.2
【集群规模】例如:3fe(1 follower+2observer)+5be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【附件】

想知道是否有解决的方案

可以这样跑下

(uid,app_version)
set(uid=uid)

这样跑的结果,依然是app_version字段更新了数据,想要的结果是,app_version字段的值通过衍生列的方式,传递到starrocks的app_version_4search字段,同时app_version字段不更新

sr的建表语句发下?

CREATE TABLE user_profile_basic_wide (
uid int(11) NOT NULL COMMENT “”,
app_version varchar(1048576) NULL COMMENT “”,
app_version_4search varchar(1048576) NULL COMMENT “”
) ENGINE=OLAP
PRIMARY KEY(uid)
COMMENT “OLAP”
DISTRIBUTED BY HASH(uid) BUCKETS 40
PROPERTIES (
“replication_num” = “3”,
“in_memory” = “false”,
“storage_format” = “DEFAULT”,
“enable_persistent_index” = “false”
);

这样呢?

(uid,app_version)
set(uid=uid,app_version_4search=app_version)

这个结果是app_version与app_version_4search两个字段都会同时更新

你好,确认了下,目前这块确实有些问题,需要orc里面的列名字和目标表的名字不一样,这个问题我们后续会处理下,咱们当前可以在sr中建表改下名字,或者用csv格式的hive表,然后通过下面方式可以实现

LOAD LABEL label1
(
    DATA INFILE("hdfs://xxx/*")
    INTO TABLE user_profile_basic_wide
    COLUMNS TERMINATED BY "\\x01"
    (uid,app_version_4search)
)
WITH BROKER 'hdfs_broker'
properties
(
    "partial_update" = "true"
);
1赞