如何從遠程客戶端通過 HTTP 或 JAVA api 獲取 HDFS 中一個或多個鍵的值?例如,下面的檔案有一百萬個鍵和值。我只想獲取“電話”和“玩具”鍵的值。
我的檔案:
book, 5
notebook, 5
phone, 3
toys, 2
.
.
.
uj5u.com熱心網友回復:
HDFS 是塊存盤,而不是鍵值存盤。
如果您需要這樣的查詢,您的選項包括 Accumulo、HBase 或 Hive(以及 Presto/Trino、Drill、Spark 等變體)。
否則,您必須閱讀整個檔案,然后遍歷每一行,查找這些值。考慮到 HDFS 檔案可能有幾 GB 大,并且您不應該通過 HTTP/RPC 流式傳輸 GB 的資料來進行簡單的 KV 查找,這并不理想。相反,您可以使用 MapReduce 或 Spark 將檔案讀取為 2 列 CSV 檔案,但同樣,這將迭代并決議所有行,而不是可索引的查找表。
或者,使用或將您的資料轉儲到傳統資料庫中,您可以查詢特定值
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/511173.html
