[我注意到,sqoop限制了从Oracle(或者通常是?)每次会话提取2147483000条记录,因为这个人也经历过http://community.cloudera.com/t5/Data-Ingestion-Integration/Sqoop-job-limiting-number-of-rows/m-p/64247
我们可以启用任何设置更改以提取全部内容吗?还是使用过滤条件有限制。
我发现了相同的问题,但是在深入研究文档后,我意识到一个映射器只能压缩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