![](/img/trans.png)
[英]HBase mapreduce job - Multiple scans - How to set the table of each Scan
[英]Does it make sense to run an hbase mapreduce job with a million Scans?
我在hbase中有一個數據集,該數據集足夠大,要花幾個小時才能對整個數據集運行mapreduce作業。 我希望能夠使用預先計算的索引來分解數據:每天一次映射整個數據集並將其分解為多個索引:
我的想法是只存儲相關記錄的行ID列表,然后以后人們只能在這些行上執行很少的mapreduce工作。 但是1%的樣本仍然是100萬行數據,我不確定如何在一百萬行的列表上構造mapreduce作業。
如果要由一百萬個不同的Scan對象組成查詢,那么使用initTableMapperJob(List scans)創建表映射器作業是否有意義? 還有其他方法可以使我仍然可以將計算和I / O有效地分配給hbase集群嗎?
不要進行一百萬次掃描。 如果您有一百萬個不連續的ID,則可以使用自定義輸入格式在ID列表上運行map / reduce作業,以便將列表划分為合理數量的分區(我猜這是您的數量的4倍) m / r插槽,但該數字不基於任何值)。 這將為您提供一百萬次獲取操作,這可能比一百萬次掃描要好。
如果您有幸擁有更合理數量的連續范圍,那么掃描將比直接獲取更好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.