數據倉庫階段:UDF 函數與字典表該如何抉擇?

問答 ? AIZero ? 于 2020-08-30 16:23:17 ? 最后回復由 青牛 2020-08-30 20:21:35 ? 298 閱讀
  1. ODS層數據到DWD層數據經過與字典表的innerjoin的關聯,就比如最簡單的國家英文名轉到國家中文名,可以用字典關聯后替換掉,也可以用UDF中生成的jar包來進行變化。字典表如果大的時候連接通過MapReduce似乎效率并不高,字典表小的時候通過semijoin的方式好像效率也很高,但是這兩種連接方式的效率與UDF函數jar包實現的比較,哪種方式性能上更加優異,在實際應用中該如何選擇?
  2. 如果要應用UDF函數,我想能否在原始數據到ODS層的MapReduce中就進行判斷和替換?還是最好在ODS到DWD層時候使用?并不是很理解UDF函數在什么時候用比較好?
點贊
成為第一個點贊的人吧 :bowtie:
回復數量: 3
  • 青牛 國內首批大數據從業者,就職于金山,擔任大數據團隊核心研發工程師
    ? 2020-08-30 18:22:37

    復雜的字段格式轉換現有函數不能完成時需要自己定制一個udf,hive大小表join滿足條件自動的優化成semijoin所以不用特意寫個udf。

  • AIZero
    ? 2020-08-30 19:41:25

    @青牛 假如源數據到ODS層跑MapReduce的代碼中直接封裝了UDF函數轉換的邏輯,成為一個比較大的jar包,進行數據清洗,這是第一種方案。第二種方案,先一個專門跑MapReduce的jar包,到ODS層,然后從ODS層到DWD層中用UDF的jar包進行數據轉換。這兩種方案哪個更好,老師能詳細說說最初數據清洗跑jar包和hive中用UDF的jar包底層實現有什么區別嗎?

  • 青牛 國內首批大數據從業者,就職于金山,擔任大數據團隊核心研發工程師
    ? 2020-08-30 20:21:35

    不存在你說的第二種方案,ODS層是直接上傳就完事了。用hive和mr都可以到ETL從ODS到DWD。hive做臟數據統計麻煩,mr可以用counter做臟數據統計。寫mr的方式好,這樣可以既出數據又做了臟數據統計。

暫無評論~~
  • 請注意單詞拼寫,以及中英文排版,參考此頁
  • 支持 Markdown 格式, **粗體**、~~刪除線~~、`單行代碼`, 更多語法請見這里 Markdown 語法
  • 支持表情,可用Emoji的自動補全, 在輸入的時候只需要 ":" 就可以自動提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上傳圖片, 支持拖拽和剪切板黏貼上傳, 格式限制 - jpg, png, gif,教程
  • 發布框支持本地存儲功能,會在內容變更時保存,「提交」按鈕點擊時清空
Ctrl+Enter
上海麻将垃圾胡技巧 国外莱特币行情 体育彩票排列五大星彩票网 贵州11选5开奖直播 陕西快乐10分走势图快乐前三组 捕鸟达人 泰州天天麻将怎么下载 常德中彩票 广东36选7第开奖结果查询 足彩半全场负平是什么意思 极速赛车9码必中规律 2020年元旦彩票停售吗 20选5开奖浙江 双色球预测最准确人 500彩票网比分直播电脑版 14足彩比分 3d捕鱼大亨