主要问题是在使用sqoop时的参数配置问题,当我们选用搜sqoop job 方式提交时,虽然在最后面按照官网提示配置了schema参数,但是sqoop job的解析并不能正确解析,到时候会报错Unrecognized argument: --schema .
sqoop job -D mapreduce.job.queuename=root.default -D org.apache.sqoop.splitter.allow_text_splitter=true --create hub_data_extract_task_sub_750 -- import --connect 'jdbc:postgresql://:54321/postgres' --username 'postgres' --password-file /user/achilles/sqoop/pwd/project_153/PostgreSQL_模式测试postgre_226.pwd --table 'application_manage' --columns 'id,name,app_code,describes,version,deleted,gmt_create,gmt_modified,create_by,update_by,app_key,app_secret,status,accesst_token,org_id' --target-dir /user/achilles/batch_sync/hive_tmp/hub_data_extract_task_sub_750.tmp/ --fields-terminated-by '\001' --hive-drop-import-delims --delete-target-dir --split-by id --m 4 -- --schema schemaName.
上面是按照网上提示写的,并不能在sqoop job 下作业提交,这种只适用于sqoop命令行模式直接进行import
如果涉及到增量同步,使用sqoop job方式提交,需要 – -- --schema,跟前面的import的–import同级下,才可以进行下级注释.