我使用Cassandra 2.0.9來存儲相當大量的數據,比如100Gb,在一個列系列中。我想快速將這些數據導出爲CSV。我想:從Cassandra導出大量的數據到CSV
- sstable2json - 它會產生相當大的JSON文件,這是很難解析 - 因爲工具放入一行數據,並使用複雜的架構,它需要(例如300MB的數據文件=〜2Gb的JSON)。大量的時間來轉儲和卡桑德拉喜歡根據其內部機制來更改源文件名
- COPY - 導致對大數量的記錄
- CAPTURE相當快的EC2實例超時 - 像上面,導致超時
- 與分頁讀 - 我用timeuuid它,但它返回約1,5k記錄每秒
我使用Amazon EC2實例具有快速存儲,內存15 GB和4個核
是有沒有更好的選擇將Cassandra的數據從千兆字節輸出到CSV?
你有沒有考慮過爲自己製作一個小玩意兒?使用datastax驅動程序,您可以輕鬆地提出請求,提取您的數據,然後使用csv文件將它們序列化爲幾乎沒有Java代碼? 這將確保你得到你想要的確切結果(儘管有一點努力)。 – Ar3s
此外,我沒有得到「閱讀與分頁」方法或問題。 – Ar3s
*閱讀與分頁* - 使用Python驅動程序我試圖閱讀內容使用限制(測試值100 - 10000,基於TimeUuid)和偏移量,它非常緩慢,卡桑德拉能夠讀取每秒約1,5k記錄3個實例和複製因子2 我無法想象,只需使用驅動程序就可以構建快速讀取,因爲每行Cassandra必須檢查存儲數據的節點。 – KrzysztofZalasa