用spark dataframe向doris写数据时,报下面错误:
Failed to load data on BE: http://192.168.50.10:18040/api/mydb/dwd_virtual_table/_stream_load? node and exceeded the max retry times.
发现表没写入成功。刚开始很困惑,后来发现是 dataFrame中的字段和目标表不一致 。
这种提示很不友好,有没有更好方式提示,方法是有的,可以用jdbc写入,发现错误时可以看到具体的提示。代码参考如下:
def writeByJDBC(dataframe: DataFrame, dorisTable: String): Unit = {
dataframe.write.format("jdbc")
.mode(SaveMode.Append)
.option("driver", "com.mysql.jdbc.Driver")
.option("url", "jdbc:mysql://" + DORIS_HOST + ":9030/" +DATABASE_NAME + "?rewriteBatchedStatements=false")
.option("batchsize", "" + WRITE_BATCH_SIZE)