Oozie WorkFlow中Sqoop Action使用讲解

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 笔记

第一步: 将examples目录下的sqoop目录拷贝到oozie-apps目录下

cp -r sqoop /opt/modules/oozie/oozie-apps/

第二步: 将sqopp目录下的db.hsqldb.properties db.hsqldb.script两个文件删除

rm -rf db.hsqldb.properties db.hsqldb.script

第三步: 创建lib目录

mkdir lib

第四步: 拷贝mysql jar包到lib目录下

cp /opt/modules/hive/lib/mysql-connector-java-5.1.48-bin.jar .

第五步: 这里我们测试的是hive表导出到mysql表。需要检查hive表和mysql表,分别是hive表(db_hive.user_info)和mysql表(db_sqoop.user_info_export)

关于hive表导出到mysql表的内容,以及创建表的格式和数据请参考这篇文章的第四节:

https://blog.csdn.net/weixin_45366499/article/details/109403343


第六步: 编写sqoop导出脚本文件export.txt,内容如下:

--connect 
jdbc:mysql://bigdata-pro-m01:3306/db_sqoop 
--username 
root 
--password 
199911 
--num-mappers 
1  
--table 
user_info_export 
--input-fields-terminated-by 
',' 
--export-dir 
/user/hive/warehouse/db_hive.db/user_info

export.txt在/opt/modules/oozie/oozie-apps/sqoop目录下

第七步: 编写job.properties文件,参考官方example,内容如下:

nameNode=hdfs://bigdata-pro-m01:9000
jobTracker=bigdata-pro-m01:8032
queueName=default
oozieAppRoot=user/caizhengjie/oozie-apps
oozieDataRoot=user/caizhengjie/oozie-datas
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/${oozieAppRoot}/sqoop
EXEC=export.txt

第八步: 编写workflow.xml,内容如下:

<workflow-app xmlns="uri:oozie:workflow:0.5" name="sqoop-wf">
    <start to="sqoop-node"/>
    <action name="sqoop-node">
        <sqoop xmlns="uri:oozie:sqoop-action:0.3">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
            </configuration>
            <command>export --options-file ${EXEC}</command>
            <file>${nameNode}/${oozieAppRoot}/sqoop/${EXEC}#${EXEC}</file>
        </sqoop>
        <ok to="end"/>
        <error to="fail"/>
    </action>
    <kill name="fail">
        <message>Sqoop failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

第九步: 上传sqoop整个目录到HDFS上

bin/hdfs dfs -put /opt/modules/oozie/oozie-apps/sqoop/ /user/caizhengjie/oozie-apps

第十步: 运行测试

bin/oozie job -oozie http://bigdata-pro-m01:11000/oozie -config oozie-apps/sqoop/job.properties -run

查看测试结果:

13.png

查看导出的mysql数据表

mysql> select * from user_info_export;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | admin    | admin    |
|  2 | wang     | 111111   |
|  3 | zhang    | 000000   |
|  4 | lili     | 000000   |
|  5 | henry    | 000000   |
|  6 | cherry   | 000000   |
|  7 | ben      | 111111   |
|  8 | leo      | 000000   |
|  9 | test     | test     |
| 10 | system   | 000000   |
| 11 | xiao     | 111111   |
+----+----------+----------+
11 rows in set (0.00 sec)


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
资源调度 Java 流计算
flink yarn-per-job提交报错
flink yarn-per-job提交这个是什么问题吗,主机端口都是正常的,就报了拒绝连接?image.png 一提交到yarn就报这个错,然后失败,提交命令 flink run -t yarn-per-job -c app.dwm.UVFilterDetail /root/gmall_flink/flink_app/gmall-start-try-self-do-1.0-SNAPSHOT-jar-with-dependencies.jar,yarn-session提交是正常的,就per-job有问题?
97 1
68 Azkaban Command类型多job工作流flow
68 Azkaban Command类型多job工作流flow
52 0
|
6月前
|
资源调度 关系型数据库 数据库
实时计算 Flink版产品使用合集之flink-cdc.sh xx.yaml提交到yarn 发现没有启动task manager的,怎么处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
流计算
Flink CDC在运行过程中遇到"Could not upload job files"的问题
Flink CDC在运行过程中遇到"Could not upload job files"的问题
272 1
|
6月前
|
SQL XML 分布式计算
Oozie功能
Oozie是一个基于Hadoop的调度器,它可以用来管理和协调Hadoop作业、Pig作业、Hive作业、Shell脚本等。【2月更文挑战第21天】
54 2
|
6月前
|
流计算
要实现自定义 Flink Source
要实现自定义 Flink Source
103 2
|
分布式计算 JavaScript Java
Oozie的安装和使用
Oozie的安装和使用
|
SQL HIVE 流计算
《Production-Ready Flink and Hive Integration what story you can tell now》电子版地址
03-李锐-Production-Ready Flink and Hive Integration what story you can tell now.的副本
92 0
《Production-Ready Flink and Hive Integration what story you can tell now》电子版地址
|
SQL 分布式计算 安全
【Oozie】(二)Oozie 架构及运行模型介绍
【Oozie】(二)Oozie 架构及运行模型介绍
499 0
【Oozie】(二)Oozie 架构及运行模型介绍