【版本】3.0.4存算一体
【分区方式】PARTITION BY date_trunc(‘day’, dt)
原分区p20231105存在数据,使用add column XXX after XXX增加两列,查询显示增加成功,增加的两列默认为NULL。
然后从hive外表重新导入数据,使用insert overwrite XXX partition(dt=20231105) select 。。。。。,则报错:
[ERROR] 2023-11-07 11:05:45.142 +0800 - execute sql error: Insert has filtered data in strict mode, txn_id = 1118735 tracking sql = select tracking_log from information_schema.load_tracking_logs where job_id=210665
[ERROR] 2023-11-07 11:05:45.142 +0800 - sql task error
java.sql.SQLSyntaxErrorException: Insert has filtered data in strict mode, txn_id = 1118735 tracking sql = select tracking_log from information_schema.load_tracking_logs where job_id=210665
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1061)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1009)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1320)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:994)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
at org.apache.dolphinscheduler.plugin.task.sql.SqlTask.executeUpdate(SqlTask.java:312)
at org.apache.dolphinscheduler.plugin.task.sql.SqlTask.executeFuncAndSql(SqlTask.java:210)
at org.apache.dolphinscheduler.plugin.task.sql.SqlTask.handle(SqlTask.java:161)
at
期间如果进行该表的查询等操作,还可能会引起be crash。
执行 tracking sql,则显示:Error: The row is out of partition ranges. Please add a new partition.但Row中的数据列是正确的。
将新增的两列删除后,insert overwrite可正常执行。