type:ETL_RUN_FAIL; msg:No source file in this table

【详述】使用BROKER load时,当源表为空时(或分区为空)时,导入报错 type:ETL_RUN_FAIL; msg:No source file in this table,任务state是CANCELLED

【StarRocks版本】2.5.4

请问,如何设置才能使任务不报错呢,即state是FINISHED

empty_load_as_error

|TRUE|导入数据为空时,是否返回报错提示 all partitions have no load data 。取值:

  • TRUE :当导入数据为空时,则显示导入失败,并返回报错提示 all partitions have no load data
  • FALSE :当导入数据为空时,则显示导入成功,并返回 OK ,不返回报错提示。|
    | — | — |

尝试过将改参数设置为 false,但不管用

ADMIN SHOW FRONTEND CONFIG LIKE “%empty_load_as_error%”;
看下这个sql的执行结果

这个是true,但是我设置成false也试过了,还是不行呢

目前 empty_load_as_error 对 type:ETL_RUN_FAIL; msg:No source file in this table 这种报错不生效,这种报错是指定的路径下没有文件,如果分区或者表没有数据,或许可以试一下 按照路径对分区创建个文件只是里面没有数据,这样会转换成 all partitions have no load data,然后设置empty_load_as_error绕过

我在broker load 也遇到同样的问题

type:ETL_RUN_FAIL; msg:No source file in this table(mytable).

测试步骤:

LOAD LABEL local_csv_3
(
DATA INFILE(“file:///data/ybx/file1.csv”)
INTO TABLE mytable
COLUMNS TERMINATED BY “,”
(id, name, score)
)
WITH BROKER “sole_broker”
PROPERTIES
(
“timeout” = “7200”
);

sr版本是:3.1.10

这个问题已经解决,部署方式是基于docker部署的,所以需要将对应的文件放在容器挂载的目录下面

没太听懂呢

有没有比较正式的解决办法呢,我也遇到了这样的错误。我创建了一个空表,然后打算用broker load导入一个目录下的几百个csv

我指定的路径下面是有文件的啊

我是因为容器化部署,才找不到宿主机的文件。

你看一下日志里面报什么错

和你一样的报错呀,就是那个说No source file in this table。我是先建了一张空表,然后导入数据。3.2.0版本

你建表的时候有做什么比较特别的操作吗?

我就是创建了简单的表没有什么操作,你看看日志starrocks/broker/log下面的日志信息,报错信息会全一些。