亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

cassandra使用java驅動讀取大量數據

cassandra使用java驅動讀取大量數據

海綿寶寶撒 2021-11-11 16:37:23
我必須從 Cassandra 數據庫中讀取 3 TB 的生產數據。我已經使用 java 驅動程序實現了分頁,但該技術使用偏移值,這意味著我正在重新跟蹤我的數據以到達特定行,并且此過程使用堆內存,這不是一個好的做法。我想在不使用大量堆內存的情況下讀取數據通常,我想批量獲取 10000 行,然后再次讀取下 10000 行,而無需再次讀取前一萬次讀取我不需要高讀取延遲我唯一的問題是在不消耗大量堆內存的情況下讀取數據...這是我的部分代碼 Statement select = QueryBuilder.select().all().from("demo", "emp");這就是我的尋呼方式List<Row> secondPageRows = cassandraPaging.fetchRowsWithPage(select, 100001, 25000);printUser(secondPageRows);其中 100001 是我想要輸出行的起始值,25000 是頁面的大小。所以在這里我必須首先達到 100000,然后我將打印第 100001 個值。這導致了我的堆問題,加上在我的情況下,我不想到達一頁的末尾以獲取另一頁的第一條記錄。
查看完整描述

2 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

僅供參考,以下文檔可能會有所幫助,盡管我從未嘗試過自己的文檔。

https://docs.datastax.com/en/developer/java-driver/3.6/manual/paging/

在這里驅動程序將負責分頁。


查看完整回答
反對 回復 2021-11-11
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

我可以想到兩種可能的解決方案:

1) 您需要有更好的數據模型來處理此查詢。改造您的表以處理此類查詢。

2) 使用 spark 作業來處理這樣的請求,為此你需要有一個單獨的數據中心來處理這個查詢,這樣就不必擔心堆內存。


查看完整回答
反對 回復 2021-11-11
  • 2 回答
  • 0 關注
  • 253 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號