这篇文章上次修改于 1036 天前,可能其部分内容已经发生变化,如有疑问可询问作者。 > 最近遇到个问题,sqoop从tidb导入hive数据条数增多,解决方式是加上--hive-drop-import-delims ##### 最近遇到个问题,sqoop数据条数不对,sqoop从tidb导入的数据行数比实际条数多,调查发现因为数据内容包含换行等分割符号, ##### 所以加入下面参数,去掉多余的换行符\\n, \\r, and \\01 ```bash --hive-drop-import-delims \ ``` #### 整体如下: ``` bash sqoop import \ -D mapred.job.queue.name=${queueName} \ -D mapred.job.name=${job_name} \ -D yarn.application.classpath=${YARN_APPLICATION_CLASSPATH} \ -D mapreduce.map.memory.mb='6144' \ -D mapreduce.map.java.opts='-Xmx4916m -XX:+UseG1GC -XX:+PrintFlagsFinal -XX:+PrintReferenceGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintAdaptiveSizePolicy -XX:+UnlockDiagnosticVMOptions -XX:+G1SummarizeConcMark -XX:InitiatingHeapOccupancyPercent=35' \ --connect ${db_connection} \ --username ${db_username} \ --password ${db_password} \ --query " select \`revision\`, \ \`created_by\`, \ \`created_time\`, \ \`updated_by\`, \ \`updated_time\`, \ \`id\`, \ \`um_num\`, \ \`feedback\` \ from ${source_table} \ where 1=1 \ and \$CONDITIONS " \ --hive-table ${target_db}.${idld_table} \ --target-dir "${target_dir}" \ --hive-drop-import-delims \ -m=1 \ --null-string='\\N' \ --null-non-string='\\N' \ --hive-overwrite \ --hive-import; ```
没有评论