2016-07-19 63 views
0

我是Cassandra的新手,我正在努力應對一些概念。我發現跨多個表(使用不同分區鍵)複製相同數據以支持查詢的優勢,但通常如何設置ETL作業?將單個csv文件中的數據加載到多個Cassandra表中?

考慮一個場景,其中一個csv文件的數據必須加載到多個表。我們是否可以多次運行帶有csv文件的copy/sstableloader/cassandra-loader實用程序,每個表只運行一次?

當數據已被部分加載到某些表,但加載腳本仍在運行時,如何保持讀一致性?連接到兩個不同表的客戶可能會讀取兩個不同的值。一些在線論壇建議使用物化視圖。那是唯一的選擇嗎?

謝謝!

回答

0

我對Cassandra也很新,基於我迄今爲止所做的工作,似乎物化視圖是您最好的選擇。如果你不走那條路線,那麼你對Cassandra中的數據所做的所有CRUD語句都必須管理所有表中的數據。物化視圖讓您擺脫爲每個表編寫語句的業務,而是管理基表和視圖管理自己。你可以找到一個好的概述here

BATCH是插入散裝數據的最佳選擇。但是,它不會阻止髒讀,就像用戶只獲取一些仍在插入過程中的行。我沒有看到任何在卡桑德拉會做到的事情,並且基於分佈式特性,我不確定它在整個集羣中完成「整批」時如何鎖定讀取。

+0

感謝您的回覆。物化視圖可能是我的答案。 –

+0

祝你好運@bow_arrow。今天我正在升級我的集羣,讓MV嘗試一下。 – ammills01

相關問題