基于FusionInsight離線數倉場景案例

      網友投稿 827 2022-05-30

      一、場景方案

      離線處理通常是指對海量數據進分析和處理,形成結果數據,供下一步數據應用使用。離線處理對處理時間要求不高,但是所處理數據量較大,占用計算存儲資源較多。通常通過Hive/SparkSQL引擎或者MapReduce/Spark實現。

      離線處理場景,通常需要部署HDFS、Yarn、Spark2x、Hive、MapReduce、Tez等組件,如下圖所示:

      二、樣例場景:營銷推廣分析

      數據采集可以采用多種方式,本樣例中假定數據已經提取為普通文本文件,獲取到的樣例數據:如下3個text文件

      1)???????? 用戶信息 userTable.txt 對應字段含義 :

      用戶ID、用戶名、用戶注冊時間

      2)???????? 購物數據 shoppingTable.txt 對應字段含義:

      用戶ID、商品名稱、商品類型、花費金額、購買時間

      3)???????? 用戶瀏覽記錄表:

      用戶ID、商品名稱、瀏覽時長、瀏覽日期

      目標要分析出如下數據

      1.???????? 金牌用戶名單:

      規則:累計消費金額大于10000的用戶,消費記錄以2018-01-01之后為準

      輸出:goldinfo表,表字段:用戶ID、用戶名、累計消費金額

      2.???????? 優惠券推送信息:

      基于FusionInsight的離線數倉場景案例

      規則:對半年內消費金額小于1000的用戶,發放金額為其消費金額20%的優惠券,不足10元的給與10元優惠券

      輸出:discountInfo表,表字段:用戶ID、用戶名、消費金額、優惠券金額

      3.???????? 廣告推送信息:

      規則:針對瀏覽次數大于10次卻還沒有購買的用戶,發送廣告推送

      輸出:SpreadInfo表,表字段:用戶ID、用戶名稱、商品名稱

      三、開發環境

      系統類型

      Windows 10 64bit

      JDK版本

      Oracle JDK 1.8

      開發工具

      Intellij IDEA 2019.2.3

      Scala SDK

      2.11.12

      FusionInsight HD環境

      安全模式

      安裝組件:HDFS、Yarn、Hive、Spark2X

      四、代碼說明

      詳細代碼參考附件

      本場景提供兩個測試模塊,完成功能一樣,其中offineProcessingJava使用java語言開發,offineProcessingScala使用scala語言開發,其中scala語言模塊提交測試方案類似java,可參考java使用。

      五、本地測試

      本地測試請使用OfflineProcessingJava模塊中的如下方法執行

      com.huawei.bigdata.spark.examples.SparkLocalTest

      執行之前配置步驟如下,默認提到的調用方法都在SparkLocalTest類中:

      1)???????? 將offineProcessingJava\data目錄下的三個txt文件上傳到hdfs的/myfile/下;

      2)???????? 使用開發工具IntelliJ IDEA導入OfflineProcessingJava該模塊;

      3)???????? 參考產品文檔配置maven源,確保pom.xml中指定的依賴包為從華為MRS提供的maven倉下載;

      4)???????? 安裝FI集群客戶端,使用認證用戶登錄spark-beeline,檢查是否有表名為“goldinf”、“spreadinfo”、“discountinfo”的表,如有,則刪除;

      5)???????? 從FI集群的Manager頁面獲取用于測試的用戶認證憑據,示例中使用的是developuser用戶,請根據實際情況修改為自己的用戶名,將下載獲取的user.keytab和krb5.conf文件替換到offineProcessingJava\src\main\resources目錄下;

      6)???????? 更改UserLogin方法中的String PRNCIPAL_NAME的值為本次測試使用的用戶名;

      7)???????? 從FI集群客戶端的類似如下目錄/opt/client/HDFS/hadoop/etc/hadoop下載core-site.xml和hdfs-site.xml文件替換到offineProcessingJava\src\main\resources目錄下;

      8)???????? 從FI客戶端的類似如下目錄/opt/client/Spark2x/spark/conf下載hive-site.xml文件替換到offineProcessingJava\src\main\resources目錄下;

      六、集群部署測試

      6.1 執行前配置

      1)???????? 將offineProcessingJava\data目錄下的三個txt文件上傳到hdfs的/myfile/下;

      2)???????? 使用開發工具IntelliJ IDEA導入OfflineProcessingJava該模塊;

      3)???????? 參考產品文檔配置maven源,確保pom.xml中指定的依賴包為從華為MRS提供的maven倉下載;

      4)???????? 安裝FI集群客戶端,使用認證用戶登錄spark-beeline,檢查是否有表名為“goldinf”、“spreadinfo”、“discountinfo”的表,如有,則刪除;

      5)???????? 從FI集群客戶端的類似如下目錄/opt/client/HDFS/hadoop/etc/hadoop下載core-site.xml和hdfs-site.xml文件替換到offineProcessingJava\src\main\resources目錄下;

      6)???????? 從FI客戶端的類似如下目錄/opt/client/Spark2x/spark/conf下載hive-site.xml文件替換到offineProcessingJava\src\main\resources目錄下;

      7)???????? 點擊IDEA工具右側maven工具,忽略test部分,使用package執行打包,獲取offineProcessingJava-1.0-SNAPSHOT.jar;

      8)???????? 將該jar包上傳到FI客戶端所在節點,例如放在目錄/opt下

      6.2 提交job到集群

      1)???????? 登錄FI客戶端,執行kinit安全認證;

      2)???????? 通過類似如下命令提交spark任務,其中

      --class指定任務運行的入口類

      spark-submit --class com.huawei.bigdata.spark.examples.SparkSQLDemo ? --master yarn --deploy-mode client /opt/offineProcessingJava-1.0-SNAPSHOT.jar

      3)???????? 使用spark-beeline查看已經創建出表“goldinf”、“spreadinfo”、“discountinfo”

      4)???????? 登錄Yarn的ResoureManger WEBUI可查看已完成的任務中有名為OfflineProcessing的任務。

      附件: OfflineProcessing.zip 2.41MB 下載次數:1次

      EI企業智能 FusionInsight

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:詳細介紹安卓布局性能優化之(include 、merge、ViewStub)
      下一篇:推薦學Java——初識數據庫
      相關文章
      亚洲色精品88色婷婷七月丁香| 亚洲精品第一国产综合精品99| 丝袜熟女国偷自产中文字幕亚洲| 久久久久久亚洲av无码蜜芽| 亚洲精品宾馆在线精品酒店| 亚洲人成电影网站久久| 亚洲日韩在线视频| 亚洲欧洲日产国码在线观看| 亚洲综合激情另类小说区| 久久久婷婷五月亚洲97号色| 亚洲一区中文字幕久久| 亚洲综合色丁香麻豆| 亚洲国产精品线观看不卡| 亚洲国产精品午夜电影| 亚洲日韩国产精品乱-久| 亚洲精品无码专区在线播放| 亚洲欧美精品午睡沙发| 亚洲国产成人精品无码区花野真一 | 亚洲日韩中文字幕一区| 亚洲精品无码av片| 麻豆亚洲AV成人无码久久精品 | 久久亚洲精品中文字幕| 亚洲高清在线mv| 91亚洲精品自在在线观看| 亚洲一区二区三区无码国产 | 亚洲熟妇无码八V在线播放| 亚洲av无码片vr一区二区三区| 亚洲aⅴ无码专区在线观看| 亚洲国产成人影院播放| 国产亚洲成人在线播放va| 亚洲另类激情综合偷自拍图| 亚洲A∨无码无在线观看| 亚洲精品亚洲人成在线麻豆| 亚洲娇小性色xxxx| 国产精品亚洲专区无码WEB| 久久精品亚洲福利| 久久噜噜噜久久亚洲va久| 亚洲国产精品美女| 亚洲国产欧美一区二区三区| 亚洲国产小视频精品久久久三级| 亚洲精品无码久久一线|