我注意到sqoop限制了每次会话从Oracle(或通常是?)中提取2147483000条记录,因为这个人还经历过http://community.cloudera.com/t5/Data-Ingestion-Integration/Sqoop-job-limiting-number-of-rows/m-p/64247
我们可以启用任何设置更改以提取全部内容吗?还是我有使用过滤条件的限制。
答案 0 :(得分:0)
我发现了同样的问题,但是在深入了解文档之后,我意识到一个映射器只能压缩2147483000个记录。因此,从技术上讲,您需要增加映射器的数量。我用来压缩2247948942记录的代码如下,两种方法都可以使用,但我认为-m是您所需要的。
sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true -Dmapreduce.map.memory.mb=7782 -Dmapreduce.map.java.opts=-Xmx6225m --connect jdbc:oracle:thin:@connection --username anair[COMMON] -password-file /user/anair/pw/sqoop.password --as-textfile --table COMMON.LABRESULTID_XREF_IOT_H641171 --target-dir /user/anair/prod/202002/labresult_xref/m_16/H641171 -m 16
sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true -Dmapreduce.map.memory.mb=7782 -Dmapreduce.map.java.opts=-Xmx6225m --connect jdbc:oracle:thin:@dbConnection --username anair[COMMON] -password-file /user/anair/pw/sqoop.password --as-textfile --table COMMON.LABRESULTID_XREF_IOT_H641171 --target-dir /user/anair/prod/202002/labresult_xref/m_16_v2/H641171 -m 16 --split-by CLIENT_DS_ID