Clickhouse-insert 數據寫入不成功問題


[應用場景]

對副本表進行 alter delete 數據后,同樣的數據再進行 insert into 操作.

[問題復現]

[問題解釋]
對副本表 insert 語句的數據會划分為數據塊. 每個數據塊會生成 block_id ,存在 zookeeper 相應表目錄的 block 子目錄下.根據這個 block_id 數據塊會去重,對於被多次寫的相同數據塊(大小相同且具有相同順序的相同行的數據塊),該塊僅會寫入一次。所以同樣的一份數據,多次 insert into 副本表,只有第一次會寫入數據.
現在問題是當對這份數據進行 aleter delete 操作后.數據成功刪除了,但是存在 zookeeper 上的 block_id 沒有被一並刪除.導致之后對這份數據進行 insert into ,會被表引擎判斷為重復數據,而被略過,使數據沒有落地到表里面.也就是查不出來這份數據.

[解決方案]
設置 set insert_deduplicate=0 臨時關閉去重機制
找到 zookeeper 下對應的 block_id ,手動刪除這個 block_id


免責聲明!

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



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