在Hue中创建一个Oozie工作流

本文描述在Hue中创建Oozie工作流的方法。

操作用户:bigdata。

准备

建表

假设在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;

dwd_user - 原始用户信息明细表

CREATE TABLE IF NOT EXISTS dwd.dwd_user
(id STRING COMMENT '用户ID',
name STRING COMMENT '用户名',
address STRING COMMENT '地址')
STORED AS PARQUET;

dw_user - 经过清洗转换的用户信息明细表

CREATE TABLE IF NOT EXISTS dw.dw_user
(id STRING COMMENT '用户ID',
name STRING COMMENT '用户名',
address STRING COMMENT '地址')
STORED AS PARQUET;

数据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'

任务二

创建ods2dwd.sql文件,写入如下内容:

INSERT OVERWRITE TABLE dwd.dwd_user
SELECT *
FROM ods.ods_user;

任务三

创建dwd2dw.sql文件,写入如下内容:

INSERT OVERWRITE TABLE dw.dw_user
SELECT
  id,
  name,
  CASE address
    WHEN 'null'
    THEN NULL
    ELSE address
  END
FROM dwd.dwd_user;

上传到hdfs

用户是bigdata,所以将上述创建的三个文件上传到hdfs的/user/bigdata/目录下。

组建工作流

工作流创建页面

进入工作流创建页面

在这里插入图片描述

页面说明

在这里插入图片描述

添加工作流任务

添加任务一

选择Shell Action

在这里插入图片描述

选择执行文件

在这里插入图片描述

任务配置,由于集群启用了Kerberos,所以需要配置凭据,任务才能执行成功

如果勾选hive2不管用,可以勾选hcat,总有一个管用的。

在这里插入图片描述

添加任务二

选择HiveServer2 Action

在这里插入图片描述

选择执行文件

在这里插入图片描述

添加任务三

选择HiveServer2 Action

在这里插入图片描述

选择执行文件

在这里插入图片描述

保存工作流

编辑工作流名称和各个任务的名称,然后点击保存按钮,保存工作流。

在这里插入图片描述

调度工作流

保存工作流后,点击计划,编辑工作流调度计划

在这里插入图片描述

在这里插入图片描述

命名调度计划和添加描述,选择要调度的工作流,选择调度策略之后,保存调度计划。

点击保存按钮之后,出现提交按钮,点击提交,启动调度计划。

在这里插入图片描述

至此,完成在Hue中创建Oozie工作流并调度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值