前阶段一个Sqoop抽取Job指定了一个xxx_id作为splitkey,后来抽取失败;想当然以为PK就是int,发现其实是varchar(https://issues.apache.org/jira/browse/SQOOP-653还不被支持),后来换了一列抽取成功;
Sqoop的splitkey在文档里只是简单的介绍了算法,但是没有介绍具体支持的splitkeycolumn type,查看源码支持的类型如下:BigDecimal,Boolean,Date,Float,Integer
BigDecimalSplitter.java
BooleanSplitter.java
DBSplitter.java
DateSplitter.java
FloatSplitter.java
IntegerSplitter.java
OracleDateSplitter.java
另外,关于int作为splitkey还有一个bug就是当int的范围特别小的时候,最后一个mapper会有一定倾斜
本文转自MIKE老毕 51CTO博客,原文链接:http://blog.51cto.com/boylook/1298635,如需转载请自行联系原作者