spark-doris-connector,Unknown column 'null' in 'table list'

Viewed 32

我在使用spark-doris-connector从doris中读数据,再将计算结果写入doris。当我使用以下的Java代码:
String filterString = "cust_no = '111'"
sparkSession.read().format('doris').option("doris.table.identifier", "busidb.tb_tx").option("doris.fenodes","123").option("user","123").option("password","123").option("doris.filter",filterString).load();

接着进行计算,最后使用:

allRslt.write().format("doris").option("doris.table.identifier", "busidb.tb_rslt").option("doris.fenodes","123").option("user","123").option("password","123").mode(SaveMode.Append).save();

时会报错:
query plan failed,exception: errCode = 2, detailMessage = Unknown column 'null' in 'table list'

我打印了allRslt中并没有列名为“null”的列。
更奇怪的是,如果我使用.read().jdbc().load()的形式读入数据,就不会出现这样的问题。请问大家有遇见过这样的问题吗?是spark-doris-connector的问题吗?我的spark版本是3.4.3、spark-doris-connector版本是25.1.0

1 Answers

目前我测试下来是substr或substring有bug,如果写sparksession.sql("select * from tx_data where substr(flag_no,1,3) = 'AAA' or substr(flag_no,1,3) = 'BBB' ") 被解析为 select * from tx_export where ('null' = 'AAA' or 'null' = 'BBB'),,然后报错: Unknown column 'null' in 'table list'