最近在学习sqoop 分享几个小例子
1). 根据用户:CRMDEV (用户名大写) 密码:crmdev 导出10.10.35.65中的Oracle实例crmdev_standby 的表ORDR_MAIN 表的前10条记录
./sqoop import --connect jdbc:oracle:thin:@10.10.35.65:1521/crmdev_standby --username CRMDEV --password crmdev --table ORDR_MAIN --where "rownum < 10"
2). 指定导出数据的列分割符“0x001”,行分隔符"\0x002" ;指定输出的HDFS目录
条件中出现引号的情况时,内部引号变成单引号; 表没有主键时 可以自定义指定一列;
./sqoop import --connect jdbc:oracle:thin:@10.10.35.65:1521/crmdev_standby --username CRMDEV --password crmdev --table CUST_BASE --where "daytime>to_date('2012-01-01','yyyy-MM-dd') and daytime<to_date('2013-01-01','yyyy-MM-dd')" --fields-terminated-by '\0x001' --lines-terminated-by '\0x002' --split-by 'CUSTID' --target-dir ‘/user/admin/CUST_BASE’
3)追加到现有目录
[admin@hadoop-data-xiaoj bin]$ ./sqoop import --connect jdbc:oracle:thin:@10.10.35.65/crmdev_standby --username CRMDEV --password crmdev --table ORDR_PROD --where 'ordrid between 31211117058273-1000000 and 31211117058273+1000000' --fields-terminated-by '\0x001' --lines-terminated-by '\0x002' --split-by 'ORDRID' --append --target-dir '/user/admin/ORDR_PROD'
获取更多资料 请参考官方文档http://sqoop.apache.org/docs/1.4.2/SqoopUserGuide.html#_selecting_the_data_to_import