[HADOOP] Hue / Oozie에서 인식 할 수없는 인수를 유발하는 Sqoop 자유 형식 쿼리
HADOOPHue / Oozie에서 인식 할 수없는 인수를 유발하는 Sqoop 자유 형식 쿼리
집계를 수행해야하기 때문에 자유 형식 쿼리로 sqoop 명령을 실행하려고합니다. Huo 인터페이스를 통해 Oozie 워크 플로로 제출됩니다. 다음은 명령 및 쿼리의 축소 버전입니다. 명령이 처리 될 때 "--query"문 (따옴표로 묶음)은 명령 뒤의 오류에 표시된 것처럼 쿼리의 각 부분이 인식 할 수없는 인수로 해석되도록합니다. 또한 대상 디렉토리가 잘못 해석되고 있습니다. 이것이 실행되지 못하게하는 원인은 무엇이며 해결하기 위해 무엇을 할 수 있습니까? $ {env} 및 $ {shard} 변수가 마지막 오류 메시지에 반영된대로 올바르게 구문 분석되고 있습니다.
고맙습니다!
===========
가져 오기 --connect jdbc : mysql : // irbasedw- $ {shard} .db.xxxx.net : 3417 / irbasedw_ $ {shard}? dontTrackOpenResources = true & defaultFetchSize = 10000 & useCursorFetch = true --username iretl --password-file / irdw / $ {env} /lib/.passwordBaseDw --table agg_daily_activity_performance_stage -m 1 --query "agg_daily_activity_performance_stage WHERE \ $ CONDITIONS GROUP BY 1에서 SELECT SUM (click_count) 선택) --target-dir / irdw / $ {env} / legacy / agg / activity_performance / text / shard _ $ {shard}
==========
3881 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Error parsing arguments for import: 3881 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: SUM(click_count) 3881 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: FROM 3882 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: agg_daily_activity_performance_stage 3882 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: WHERE 3882 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: \$CONDITIONS 3882 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: GROUP 3882 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: BY 3882 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: 1" 3882 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: --target-dir 3882 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: /irdw/test/legacy/agg/activity_performance/text/shard_0
해결법
-
==============================
1.나는 이것을 작동시킬 수있었습니다. 해결책은 모든 쿼리 요소를 별도의 인수로 제출하는 것입니다. "명령"창에 아무것도 없어야합니다. 대신 "import"를 첫 번째 인수로 시작하여 쿼리의 각 부분을 별도의 인수로 입력하십시오. 각 요소의 속성과 값은 별도의 인수로 입력됩니다. 예를 들면 다음과 같습니다.
나는 이것을 작동시킬 수있었습니다. 해결책은 모든 쿼리 요소를 별도의 인수로 제출하는 것입니다. "명령"창에 아무것도 없어야합니다. 대신 "import"를 첫 번째 인수로 시작하여 쿼리의 각 부분을 별도의 인수로 입력하십시오. 각 요소의 속성과 값은 별도의 인수로 입력됩니다. 예를 들면 다음과 같습니다.
arg: import arg: --connect arg: jdbc:mysql.... arg: --username arg: [username] arg: --password-file arg: [password file] arg: --query arg: select ..... arg: --target-dir arg: [target]
워크 플로가 예상대로 수행됩니다.
from https://stackoverflow.com/questions/25770698/sqoop-free-form-query-causing-unrecognized-arguments-in-hue-oozie by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Oozie Hive 액션이 멈추고 심장 박동이 영원히 (0) | 2019.08.12 |
---|---|
[HADOOP] 의사 분산 번호 맵 및 작업 감소 (0) | 2019.08.12 |
[HADOOP] Mapreduce 작업이 실행되고 예외가 있습니다. (0) | 2019.08.12 |
[HADOOP] “ADD JAR”을 사용하여 jar 파일을 추가하더라도 Hive 쉘에서 쿼리를 실행하는 동안 Filenotfound 예외가 발생 함 (0) | 2019.08.12 |
[HADOOP] 프로그램에서 스파크 작업 상태를 얻는 방법? (0) | 2019.08.12 |