日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在Hue中创建一个Oozie工作流

發布時間:2025/3/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Hue中创建一个Oozie工作流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

準備
建表
假設在mysql中有一個用戶信息表user,包含id,name,address三個字段。其中address字段存在字符串null。

在hive創建對應的表:
ods_user - 原始用戶信息緩存表

CREATE TABLE IF NOT EXISTS ods.ods_user
(id STRING COMMENT '用戶ID',
name STRING COMMENT '用戶名',
address STRING COMMENT '地址')
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
STORED AS TEXTFILE;
1
2
3
4
5
6
7
dwd_user - 原始用戶信息明細表

CREATE TABLE IF NOT EXISTS dwd.dwd_user
(id STRING COMMENT '用戶ID',
name STRING COMMENT '用戶名',
address STRING COMMENT '地址')
STORED AS PARQUET;
1
2
3
4
5
dw_user - 經過清洗轉換的用戶信息明細表

CREATE TABLE IF NOT EXISTS dw.dw_user
(id STRING COMMENT '用戶ID',
name STRING COMMENT '用戶名',
address STRING COMMENT '地址')
STORED AS PARQUET;
1
2
3
4
5
數據ETL模擬
為了實現工作流,模擬一個ETL邏輯。

1、使用Sqoop從業務數據庫抽取user數據存入ods_user表。

2、查詢ods_user表的數據存入dwd_user表。

3、查詢dwd_user表中的數據,將address字段中的字符串null轉化成NULL,存入dw_user表。

準備工作流任務
按照上述模擬的ETL邏輯,創建相應的任務命令。

任務一
創建mysql2hive.sh文件,寫入如下內容:(請替換成真實的連接信息)

sqoop-import \
? -Dorg.apache.sqoop.splitter.allow_text_splitter=true \
? --connect jdbc:mysql://<host>:<port>/<db> \
? --username <username> \
? --password <password> \
? --table user \
? --fields-terminated-by '\001' \
? --delete-target-dir \
? --hive-import \
? --hive-drop-import-delims \
? --hive-table ods.ods_user \
? --hive-overwrite \
? --null-string '\\N' \
? --null-non-string '\\N'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
任務二
創建ods2dwd.sql文件,寫入如下內容:

INSERT OVERWRITE TABLE dwd.dwd_user
SELECT *
FROM ods.ods_user;
1
2
3
任務三
創建dwd2dw.sql文件,寫入如下內容:

INSERT OVERWRITE TABLE dw.dw_user
SELECT
? id,
? name,
? CASE address
? ? WHEN 'null'
? ? THEN NULL
? ? ELSE address
? END
FROM dwd.dwd_user;
1
2
3
4
5
6
7
8
9
10
上傳到hdfs
用戶是bigdata,所以將上述創建的三個文件上傳到hdfs的/user/bigdata/目錄下。

組建工作流
工作流創建頁面
進入工作流創建頁面

頁面說明

添加工作流任務
添加任務一
選擇Shell Action

選擇執行文件

任務配置,由于集群啟用了Kerberos,所以需要配置憑據,任務才能執行成功

如果勾選hive2不管用,可以勾選hcat,總有一個管用的。

添加任務二
選擇HiveServer2 Action

選擇執行文件

添加任務三
選擇HiveServer2 Action

選擇執行文件

保存工作流
編輯工作流名稱和各個任務的名稱,然后點擊保存按鈕,保存工作流。

調度工作流
保存工作流后,點擊計劃,編輯工作流調度計劃

命名調度計劃和添加描述,選擇要調度的工作流,選擇調度策略之后,保存調度計劃。

點擊保存按鈕之后,出現提交按鈕,點擊提交,啟動調度計劃。

至此,完成在Hue中創建Oozie工作流并調度。
?

總結

以上是生活随笔為你收集整理的在Hue中创建一个Oozie工作流的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。