最近在使用sqoop把oracle中的数据导入到hbase中, 表中的数据每个小时导入一次,使用oozie定时促发。
hadoop版本:hadoop-2.0.0-cdh4.3.0
oozie版本:oozie-3.3.2-cdh4.3.0
sqoop版本:sqoop-1.4.3-cdh4.3.0
相应的配置如下:
coordinator.xml
<coordinator-app name="cfg_check_formula-coord" frequency="${coord:hours(1)}" start="${start}" end="${end}" timezone="UTC"
xmlns="uri:oozie:coordinator:0.2">
<controls>
<concurrency>1</concurrency>
</controls>
<action>
<workflow>
<app-path>${nameNode}/user/${coord:user()}/${tescommRoot}/apps/sqoop/cfg_check_formula</app-path>
</workflow>
</action>
</coordinator-app>
workflow.xml
<workflow-app xmlns="uri:oozie:workflow:0.2" name="sqoop-cfg_check_formula-wf">
<start to="sqoop-node"/>
<action name="sqoop-node">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<!-- <prepare>
<delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/sqoop"/>
<mkdir path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data"/>
</prepare>
-->
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<arg>import</arg>
<arg>--connect</arg>
<arg>jdbc:oracle:thin:@127.0.0.1:1523:TEST</arg>
<arg>--username</arg>
<arg>ora</arg>
<arg>--password</arg>
<arg>111</arg>
<arg>--m</arg>
<arg>1</arg>
<arg>--query</arg>
<arg>SELECT ROWID, a.* FROM cfg_check_formula a WHERE $CONDITIONS</arg>
<arg>--map-column-java</arg>
<arg>ROWID=String</arg>
<arg>--hbase-table</arg>
<arg>cfg_check_formula</arg>
<arg>--hbase-row-key</arg>
<arg>ROWID</arg>
<arg>--column-family</arg>
<arg>f_cfg_check_formula</arg>
</sqoop>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>Sqoop import cfg_check_formula failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>
job.properties
nameNode=hdfs://master:8020
jobTracker=master:8032
queueName=default
testRoot=test
oozie.use.system.libpath=true
oozie.coord.application.path=${nameNode}/user/${user.name}/${testRoot}/apps/sqoop/cfg_check_formula
#start=2013-08-29T10:00Z
#end=2013-08-29T12:00Z
start=2013-09-04T11:00+0800
end=2013-09-04T12:00+0800
上述配置完后,在workflow目录下创建lib目录,把sqoop lib下的jar拷贝至这个目录下。这样我们就可以通过oozie定时启动这个导入任务。
分享到:
相关推荐
6. **作业调度**:完成配置后,这些导入或导出操作可以通过Oozie或者Hue等工具进行调度,自动化数据的定期同步。 7. **元数据同步**:Sqoop还允许用户将数据库表的元数据同步到Hive或HBase,便于在Hadoop生态系统中...
Sqoop 是一个在大数据生态系统中广泛使用的工具,主要用于在关系型数据库(如 MySQL、Oracle、SQL Server 等)和 Apache Hadoop 之间高效地导入和导出数据。标题 "sqoop-1.4.6-cdh5.9.3" 指的是 Sqoop 的一个特定...
8. **与 Oozie 集成**:Sqoop 可以作为 Oozie 工作流的一部分,实现自动化数据抽取任务的调度和执行。 9. **安全性**:在 CDH 5.16.2 中,Sqoop 支持 Kerberos 认证,以满足企业级的安全需求。 10. **优化的性能**...
Hue提供友好的Web界面,方便用户交互式操作Hadoop集群,Oozie用于工作流调度,而Sqoop则用于数据导入导出。 在安装过程中,务必密切关注日志,及时解决可能出现的问题,确保每个步骤的顺利完成。此外,定期维护和...
1. 导入:从RDBMS到HDFS的批量数据迁移,支持多种数据库,如MySQL、Oracle、PostgreSQL等。 2. 导出:将HDFS中的数据导出到RDBMS,使得处理后的数据可以被传统的应用程序使用。 3. 作业调度:可以通过Hadoop的...
此外,Hadoop生态还包括用于数据查询的Hive、数据挖掘的Mahout(以及Spark的Mlib和Spark SQL)、实时计算的Spark Streaming和Storm,以及任务调度工具如Oozie和Azkaban。Zookeeper作为配置和调度中心,确保整个系统...
大数据数仓通常使用Hadoop生态系统中的组件,如HDFS(分布式文件系统)、Hive(数据仓库工具)、HBase(分布式列式存储)、Flume(数据收集)、Kafka(消息队列)、Flink(流处理)、Spark(大数据处理框架)、Sqoop...
- **ETL数据清洗**、**Hive、Sqoop、Flume/Oozie**:熟悉数据处理流程。 - **大数据Web工具Hue、HBase、Storm、Spark**:学习使用这些工具进行数据分析和可视化。 - **Spark核心源码剖析**、**CM 5.3.x管理**、**CDH...
- **Apache Projects**:包括Stream流处理引擎、HBase、Zookeeper、Kafka、Oozie、Flume、Elasticsearch、Sqoop、Hue等,构建全面的大数据生态。 3. **流处理框架**: - 支持Exactly Once语义,确保数据处理的...
- **Hive/HBase/Sqoop/Oozie/Hue/Flume**(各3天):数据仓库、NoSQL数据库、数据导入导出、工作流调度、监控和日志收集工具。 - **Lucene/Solr/Elasticsearch**(10天):全文搜索引擎的原理和应用。 - **Scala/...
从给定的文件内容看,文档讨论了在大数据分析中使用的各种系统架构组件,其中包含的关键词和概念覆盖了多个著名的大数据处理和分析工具和框架,下面将对这些知识点进行详细解读。 Hadoop生态系统的组件是讨论的起点...
- **关系型数据库**:如MySQL、Oracle等,适用于传统的关系型数据存储需求。 **5. 数据采集与传输** - **Flume**:广泛用于日志数据的收集、聚合和传输。 - **Kafka**:高性能的消息队列,常用于构建实时数据管道...
- **Oozie**: 工作流调度系统。 - **Pig**: 数据流语言和执行框架,简化复杂数据处理。 - **Sqoop**: 在Hadoop和关系型数据库间高效传输数据的工具。 ##### 1.3 主要功能 - **安装**: 提供逐步引导以安装Hadoop服务...