1.使用sqoop创建表并且指定对应的hive表中的字段的数据类型,同时指定该表的分区字段名称
sqoop create-hive-table --connect "jdbc:oracle:thin:@192.168.13.1:1521/test" --username root --password 12345 --table test --hive-table myhive5 --hive-partition-key partition_time --map-column-hive id=String,number=String,modify_time=String
2.按照时间字段来组装sql增量导入指定时间范围内的数据,同时改变时间的类型,可以使时间精确到秒;另外注意导入时指定的分区值的路径与对应的值
sqoop import --connect "jdbc:oracle:thin:@192.168.13.1:1521/test" --username root --password 12345 --query "SELECT i.id,i.number,i.FILE_NO,TO_CHAR(i.MODIFY_DATE_TIME ,'yyyy-mm-dd hh24:mi:ss') FROM JHMR_FILE_INDEX i WHERE MODIFY_DATE_TIME >=TO_DATE('2017-10-23 11:00:00', 'yyyy-mm-dd hh24:mi:ss') and \$CONDITIONS" --target-dir /user/hive/warehouse/myhive5/partition_time=20171023 --hive-import -m 5 --hive-table myhive5 --split-by PATIENT_ID --hive-partition-key partition_time --hive-partition-val