Sqoop主要用于在HDFS、关系型数据库之间传递数据,可以将关系型数据库数据导入到HDFS,也可以将HDFS数据导出到关系数据库。本文主要讲解一下使用sqoop进行单库单表以及分库分表数据的抽取方法。
- 直接抽取hdfs数据并实现增量
在实际开发项目中有时候需要直接使用hdfs上已有的数据而且是需要增量抽取,本文例子均是在oozie中调用相关的hadoop组件实现不同的功能,举例代码如下:
<action name="sqoop_import_orders">
<map-reduce>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<prepare>
<delete path=""/>
</prepare>
<job-xml>${commonPath}/mr-job.xml</job-xml>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
<property>
<name>com.jd.ebsdi.mapreduce.workflow.name</name>
<value>${wf:name()}</value>
</property>
<property>
<name>com.jd.ebsdi.mapreduce.batchnum</name>