OOzie调度sqoop1 Action 从mysql导入数据到hive
来源:互联网 发布:js如何获取select的值 编辑:程序博客网 时间:2024/05/16 15:14
前提条件:
1、安装好mysql、Hadoop、oozie、hive
2、上面安装的软件皆可正确执行
开始:
用oozie调度sqoop1 Action 需要准备三个基本文件,workflow.xml、job.properties、hive-site.xml(其实也可以不要,后面会说)文件
1、在HDFS创建一个oozie的工作流应用保存路径,我创建的是/user/oozieDemo/workflows/sq2hiveDemo,在此路径下再创建一个lib目录,如下图所示
2、将mysql的驱动程序上传到lib目录下
3、编写job.properties文件,文件内容如下:
oozie.wf.application.path=hdfs://NODE3:8020/user/oozieDemo/workflows/sq2hiveDemo
#Shell Script to run
EXEC=sq2hive.sh
jobTracker=NODE3:8032
nameNode=hdfs://NODE3:8020
queueName=default
oozie.use.system.libpath=true
oozie.libpath=/user/oozie/share/lib/lib_20150708191612
user.name=root
4、编写workflow.xml文件,也就是sqoopAction的配置文件,此处可以有两种配置文件,一种是命令行模式,一种是参数模式
命令行模式的workflow.xml配置文件:
<workflow-app xmlns='uri:oozie:workflow:0.1' name='sq2hive-wf'>
<start to='sq2hive' />
<action name='sq2hive'>
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://172.17.20.2:9083</value>
</property>
</configuration>
<command>import --connect jdbc:mysql://172.17.20.4/scm --username root --password root --table ROLES --columns "ROLE_ID,NAME,HOST_ID" --delete-target-dir --hive-import --hive-overwrite --hive-table sun.roles -m 2</command>
</sqoop>
<ok to="end" />
<error to="fail" />
</action>
<kill name="fail">
<message>Script failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name='end' />
参数模式的workflow.xml配置文件:
<workflow-app xmlns='uri:oozie:workflow:0.1' name='sq2hive-wf'>
<start to='sq2hive' />
<action name='sq2hive'>
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://172.17.20.2:9083</value>
</property>
</configuration>
<arg>import</arg>
<arg>--connect</arg>
<arg>jdbc:mysql://172.17.20.4/scm</arg>
<arg>--username</arg>
<arg>root</arg>
<arg>--password</arg>
<arg>root</arg>
<arg>--table</arg>
<arg>ROLES</arg>
<arg>--columns</arg>
<arg>ROLE_ID,NAME,HOST_ID</arg>
<arg>--delete-target-dir</arg>
<arg>--hive-import</arg>
<arg>--hive-overwrite</arg>
<arg>--hive-table</arg>
<arg>sun.roles</arg>
<arg>-m</arg>
<arg>2</arg>
<file>/user/oozieDemo/workflows/sq2hiveDemo/hive-site.xml#hive-site.xml</file>
</sqoop>
<ok to="end" />
<error to="fail" />
</action>
<kill name="fail">
<message>Script failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name='end' />
</workflow-app>
5,将workflow.xml文件上传到HDFS上,即oozie工作流应用路径/user/oozieDemo/workflows/sq2hiveDemo下,同时将job.properties(也可以不用上传,运行OOzie的job时指定的是本地的job.properties)和hive-site.xml上传到此路径下,如下图:
6,使用命令行方式提交并启动刚刚写好的工作流:命令如下:
oozie job --oozie http://node1:11000/oozie --config job.properties -run
此命令为提交并启动job
7,可以通过oozie web界面或者 hue的workflow查看界面查看job执行情况,hue下查看如下:
1 0
- OOzie调度sqoop1 Action 从mysql导入数据到hive
- Oozie调度sqoop导入hive
- Sqoop1.4.4将MySQL中数据导入到Hive表中
- scoop导入数据从mysql到hive
- SQOOP从MySQL导入数据到Hive
- 利用sqoop1将mysql数据导入至hive多分区
- hive0.12+sqoop1.4 从mysql导入数据问题
- sqoop1.4.5将mysql中的数据导入到HBase中
- 使用sqoop1.99.6将mysql数据导入到hdfs
- 使用sqoop1将hive导入mysql
- SQOOP中从mysql导入数据到hive中报错解决方法
- sqoop 从mysql导入数据到hdfs、hive
- sqoop从mysql导入数据到hive中
- 使用Sqoop从MySQL导入数据到Hive和HBase
- 使用sqoop1,将sqlserver数据导入hive
- Sqoop1 从Oracle往Hive迁移数据
- sqoop从mysql导入到hive
- spark从mongodb导入数据到hive
- 星云测试-给你的Android应用做个深度体检
- 【网络流24题之航空线路】(只求方案数)xoj1248
- ireport detail换行问题
- grid edit 属性
- 黑马程序员-[OC语言] 第七篇:foundation框架之NSArray、NSDitctionary 基本用法
- OOzie调度sqoop1 Action 从mysql导入数据到hive
- 实现Dota技能冷却效果
- STL:使用模板计算一组整形数的最小值
- KMeans聚类算法思想与可视化
- jquery选择器大全
- iOS应用本地化-文本信息本地化
- LeetCode(88)Merge Sorted Array
- Rotate List
- Traits