HUE+OOZIE调度shell(sqoop)

目录

需求背景

解决方案

实施方法

1.编写shell文件

2.将sh文件放到hdfs上

3.创建workflow

 4.执行测试

 5.创建coordinate调度

6.执行coord


需求背景

根据业务情况,需要通过sqoop+mysql+hive定时拉取数据。业务数据通过sqoop+mysql落地到hive;ETL结果数据通过sqopp+hive落地到mysql。

解决方案

通过大数据组件HUE+OOZIE调度shell脚本执行sqoop命令,方便管理,方便排错。

实施方法

1.编写shell文件

sqoop-mysql2hive.sh

#!/bin/bash
# 如果是输入的日期按照取输入日期;如果没输入日期取当前时间的前一天
#do_date=$(date -d "-1 day" +%F)

if [ -n "$1" ]; then
  do_date=$1
else
  do_date=$(date -d "-1 day" +%F)
fi

jdbc_url_dduser="jdbc:mysql://xxx:13306/dduser?serverTimezone=Asia/Shanghai&characterEncoding=utf8&tinyInt1isBit=false"

jdbc_username=root
jdbc_password=123456

echo "===开始从mysql中提取业务数据日期为 $do_date 的数据==="

#sqoop-mysql2hive-appconfig
sqoop import --connect $jdbc_url_dduser --username $jdbc_username --password $jdbc_password --table app_config --hive-overwrite --hive-import --hive-table dd_database_bigdata.ods_app_config --target-dir /warehouse/dd/bigdata/ods/tmp/ods_app_config --hive-drop-import-delims -m 1 --input-null-string '\\N' --input-null-non-string '\\N'


echo "===从mysql中提取日期为 $do_date 的数据完成==="

语句解释:

shell文件中定义一个变量,直接定义比如:jdbc_username=root,使用此参数:$jdbc_username

shell中前一天`date -d "-1 day" +%F`,当日`date +%F`

shell action需要传参时,HUE上规定是使用$1,$2,$3这种方式,后面创建Schedule时会讲到。

2.将sh文件放到hdfs上

/warehouse/dd/oozie/workspace/workspace-sqoop-hive2mysql-now/shell/sqoop-hive2mysql-now-shell.sh

3.创建workflow

 4.执行测试

 程序执行可在job中查看执行情况

 5.创建coordinate调度

from开始时间如果选择了之前的时间,任务创建执行后,会先执行多个job弥补选择的时间差。

比如:我们每时10分的任务,当前时间是12点15分,from选择了12点0分,执行这个coordinate时,会立即执行一个job workflow,是执行的12点10分的任务。所以这个from我们只需要创建时默认当时的时间即可。 

6.执行coord

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hue 是一个 Hadoop 生态圈的 Web 界面,它可以方便地管理和使用 Hadoop 生态圈的各种组件,包括 Impala。下面是使用 Hue 和 Impala 的简单教程: 1. 安装和配置 Impala 首先,需要在 Hadoop 集群中安装和配置 Impala。具体的安装和配置步骤可以参考 Impala 官方文档。 2. 启动 Hue 启动 Hue命令如下: ``` $ sudo service hue start ``` 启动成功后,在浏览器中输入 Hue 的 URL 地址,例如:`http://localhost:8888/`,进入 Hue 的登录页面。输入用户名和密码,点击登录即可进入 Hue 的主界面。 3. 创建 Impala 表 在 Hue 的主界面中,点击左侧菜单栏的“Impala”选项,进入 Impala 的查询页面。在查询页面中,输入 Impala 建表语句,例如: ``` CREATE TABLE my_table ( id INT, name STRING, age INT, gender STRING ) ``` 然后,点击“Execute”按钮,执行该语句,即可创建名为`my_table`的表。 4. 查询 Impala 表 在 Hue 的 Impala 查询页面中,输入 Impala 查询语句,例如: ``` SELECT * FROM my_table; ``` 然后,点击“Execute”按钮,执行该语句,即可查询`my_table`表中的数据。 5. 导入数据到 Impala 表 在 Hue 的 Impala 查询页面中,可以使用 LOAD DATA 命令将数据导入到 Impala 表中。例如: ``` LOAD DATA INPATH '/path/to/data' INTO TABLE my_table; ``` 6. 使用 Impala 高级功能 Hue 还提供了 Impala 的高级功能,例如:查询分析器、视图、UDF 等。在 Hue 的 Impala 查询页面中,可以使用这些高级功能,从而更方便地管理和使用 Impala。 以上就是使用 Hue 和 Impala 的基本教程,Hue 还有很多其他的功能,可以根据需要进行学习和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值