kudu刪除數據出現問題:
1.報錯日志截取:-- Caused by: java.lang.RuntimeException: failed to write 1000 rows from DataFrame to Kudu; sample errors: Invalid argument: No value provided for key column: TASK_TYPE[string NOT NULL] (error 0)
錯誤分析思路:No value provided for key column 翻譯 取數據時給定key值未取到value
TASK_TYPE[string NOT NULL] 翻譯 TASK_TYPE不能不空
2.貼出生產代碼及數據模型:


3.問題產生原因:
我是接受同事代碼,管理目前工程,接着開發后續需求,但接到需要新增字段 task_type並且需要設置為主鍵,數模更改以后,因為表中數據有做delete操作,
數據按天刪除,並重新生成當日數據,原來代碼 SELECT METER_ID,DATA_DATE,FROM tablename 即可獲取數據,未改之前主鍵為 METER_ID,DATA_DATE
但數模更改以后,kudu.detele需要加上 task_type 確定唯一主鍵 才能獲取數據。錯誤追溯源碼如下:

4.增加select 中 task_type 確定主鍵 獲取數據即可解決問題
后續問題:刪除數據操作以后,回寫當天數據出現報錯
日志如下:org.apache.kudu.client.NonRecoverableException: Scanner not found at org.apache.kudu.client.KuduException.transformException(KuduException.java:110)
.......
Suppressed: org.apache.kudu.client.KuduException$OriginalException: Original asynchronous stack trace
追溯源碼:
默認mutationBufferSparce 為1000,生產數據為100萬+,設置此參數為10000,數據回寫異常解決
代碼如下:

侵刪。
