Spark-kudu學習—刪除數據


 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,數據回寫異常解決
代碼如下:

 

侵刪。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM