Hadoop 根据条件从oracle到hdfs的增量sqoop
我正在做一个从hdfs到oracle的增量SQOOP,给出了如下条件Hadoop 根据条件从oracle到hdfs的增量sqoop,hadoop,oracle11g,hdfs,sqoop,Hadoop,Oracle11g,Hdfs,Sqoop,我正在做一个从hdfs到oracle的增量SQOOP,给出了如下条件 (LST_UPD_TMST >TO_TIMESTAMP('2016-05-31T18:55Z', 'YYYY-MM-DD"T"HH24:MI"Z"') AND LST_UPD_TMST <= TO_TIMESTAMP('2016-09-13T08:51Z', 'YYYY-MM-DD"T"HH24:MI"Z"')) (时间戳('2016-05-31T18:55Z','YYYY-MM-DD“T”HH24:MI“Z'
(LST_UPD_TMST >TO_TIMESTAMP('2016-05-31T18:55Z', 'YYYY-MM-DD"T"HH24:MI"Z"')
AND LST_UPD_TMST <= TO_TIMESTAMP('2016-09-13T08:51Z', 'YYYY-MM-DD"T"HH24:MI"Z"'))
(时间戳('2016-05-31T18:55Z','YYYY-MM-DD“T”HH24:MI“Z'))
和LST_UPD_TMST
您可以使用选择中的--where
或--query
和where条件来过滤导入结果
我不确定您的sqoop full命令,请以这种方式尝试一下
sqoop import
--connect jdbc:oracle:thin:@//db.example.com/dbname \
--username dbusername \
--password dbpassword \
--table tablename \
--columns "column,names,to,select,in,comma,separeted" \
--where "(LST_UPD_TMST >TO_TIMESTAMP('2016-05-31T18:55Z', 'YYYY-MM-DD\"T\"HH24:MI\"Z\"') AND LST_UPD_TMST <= TO_TIMESTAMP('2016-09-13T08:51Z', 'YYYY-MM-DD\"T\"HH24:MI\"Z\"'))" \
--target-dir {hdfs/location/to/save/data/from/oracle} \
--incremental lastmodified \
--check-column LST_UPD_TMST \
--last-value {from Date/Timestamp to Sqoop in incremental}
此处--上次值0
从开始首次导入,然后是最新导入
值将在sqoop作业的下一次调用中自动传递
sqoop job --create {incremental job name} \
-- import
--connect jdbc:oracle:thin:@//db.example.com/dbname \
--username dbusername \
--password dbpassword \
--table tablename \
--columns "column,names,to,select,in,comma,separeted" \
--incremental lastmodified \
--check-column LST_UPD_TMST \
--last-value 0