91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Prime_DSC_MentionCalcSpark性能調優

發布時間:2020-07-29 21:28:28 來源:網絡 閱讀:346 作者:誰伴我闖蕩 欄目:大數據

Prime_DSC_MentionCalcSpark系統簡介


實現功能 : 根據條件(siteId, startTime, endTime, campaignId, folder)從HBase數據源中讀取文本數據作為輸入,把提交的關鍵詞作為條件,輸出在文本中關鍵詞提及的次數


存在問題 : 對于大數據量的計算時間較長.


解決思路 : 

  1. 把HBase結果反射成TweetBean修改成TweetBean的setXXX的方式構造TweetBean

    1. 當有5W條數據,通過反射轉成TweetBean需要60s,通過TweetBean的setXX的方法需要20s

  2. 把讀取HBase的所有字段改成讀取HBase的需要的字段

    1. 當有5W條數據,讀取所有字段時需要60s,讀取需要的字段需要25s

  3. 從UC取DC數據時,不使用map函數,替換成mapPartition函數,這樣使用可以從HBase批量取數據,僅需要一次HBase連接即可

  4. 存儲計算結果,使用foreachPartition函數. 當遍歷Iterator時不是每次在循環里面都存儲計算結果,而是在循環外面維護隊列,批量存儲結果

  5. 根據Spark集群資源,合理利用Spark集群的資源,如資源越多,集群計算能力越強.而比較合理的機器資源和任務并行度的關系是 : 任務數 = 機器CPU核數 * (2 或者 3), 所以設置RDD的分區數為集群CPU核數 * 2

  6. 從HBase讀取數據的并行度跟表的region數相關.默認情況下,建表時只有一個region,而當region越來越大時,需要split成兩個region,region越多split的閾值越大,導致很多數據都存在一個region中.此時如果需要查詢一張表,假設該表有5個region,則會有5個線程同時查詢5個region的數據,但是如果其中一個region很大,是其他region的10倍,則該region的讀取是其他region讀取性能的10倍,導致整個任務的delay. 解決該問題的方法可以先通過預分區和對rowkey使用hash/MD5等算法使數據均勻的分布在各個region,這樣在讀取數據時可以根據數據均勻分配而更好的并發讀取數據.



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

白水县| 湖北省| 龙江县| 迁安市| 凤台县| 靖安县| 阜新| 峨边| 横山县| 曲阜市| 宁蒗| 都昌县| 行唐县| 广安市| 莱州市| 贡嘎县| 铁岭市| 津市市| 南涧| 盖州市| 连州市| 石屏县| 天祝| 苗栗市| 深泽县| 黑河市| 建宁县| 睢宁县| 古交市| 涞水县| 张家港市| 松溪县| 沈阳市| 韩城市| 潜江市| 高唐县| 文化| 衡山县| 汾西县| 田东县| 斗六市|