参考:http://blog.csdn.net/zleven/article/details/53781111
导入时需要注意:
1)数据库表名需要大写; 我试小写好像也可以 不知道是不是版本问题
Imported Failed: There is no column found in the target table xxx. Please ensure that your table name is correct.
2)数据库表没有主键时,需要指定--split-by参数或者使用--autoreset-to-one-mapper参数;
Error during import: No primary key could be found for table xxx.
Error during import: No primary key could be found for table xxx.
3)使用查询语句(--e或--query)导入时,需要指定--split-by参数及--target-dir参数;
When importing query results in parallel, you must specify --split-by. Must specify destination with --target-dir.
When importing query results in parallel, you must specify --split-by. Must specify destination with --target-dir.
4)使用查询语句导入时,需要在where子句中加入$CONDITIONS
java.io.IOException: Query [select * from xxx] must contain '$CONDITIONS' in WHERE clause.
如:
5)
sqoop默认使用“,”(逗号)作为列分隔符,\n(换行符)作为行分隔符。当导入的数据中包含","或\n时可以通过--fields-terminated-by <char>参数指定列分隔符;使用--lines-terminated-by <char>参数指定行分隔符
。
6)sqoop对大对象(CLOB和BLOB字段)有2种处理方式:一种方式是内嵌方式,直接将大对象和其他字段数据放在一起;另一种方式是将大对象单独存储,然后和主数据做一个关联。
通常,小于16MB的大对象字段采用第一种方式大对象和主数据一起存储。超过16MB的大对象采用第二种方式单独存储在导入目录的_lobs子目录下,每个文件最大能容纳2^63字节。可以通过--inline-lob-limit参数设置内嵌字段的大小,如果设置为0,则所有大对象将会单独存储。