[HADOOP] 루프 사용하여 명령에 인수를 전달합니다
HADOOP루프 사용하여 명령에 인수를 전달합니다
나는이 출력을 생성 명령 아래에 있습니다
명령:
oozie job -info 0007218-170910003406158-oozie-oozi-W | grep job | awk '{print $3}' | cut -c1-23 | sed 's/job/application/'
산출:
application_1505017974932_23474 application_1505017974932_23478 application_1505017974932_23477 application_1505017974932_23473 application_1505017974932_23475 application_1505017974932_23471 application_1505017974932_23469 application_1505017974932_23476 application_1505017974932_23472 application_1505017974932_23470 application_1505017974932_23495 application_1505017974932_23497 application_1505017974932_23500 application_1505017974932_23501
난에 로그 파일을 저장하는 명령과 함께 아래에 입력 이들 출력 선을 통과해야 / TMP 폴더
원사 로그 -applicationId <애플리케이션 ID> -Owner <사용자 ID>> /tmp/
하나의 구문은 for 루프를 사용하고 있지만 도전에 직면하여이 문제를 자동화하려고합니다. 문제가 발생되는 루프 전류는 아래와 같다
for appid in `oozie job -info 0007218-170910003406158-oozie-oozi-W | grep job | awk '{print $3}' | cut -c4-23 | sed 's/job/application/'`; do yarn logs -applicationId "${appid}" -Owner user9 > /tmp/ "${appid}"; done
현재 아래와 같은 오류를 얻고있다
Invalid ApplicationId specified Invalid ApplicationId specified Invalid ApplicationId specified Invalid ApplicationId specified Invalid ApplicationId specified
우리가 매개 변수로 바로 애플리케이션 ID를 지정하지 않은 경우 일반적으로 우리는이를 얻을 것이다.
해결법
from https://stackoverflow.com/questions/46372820/using-for-loop-to-pass-arguments-to-command by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 스파크 dataframe 쓰기를 사용하는 동안 어떻게 자동으로이 numRepartition을 계산 (0) | 2019.10.02 |
---|---|
[HADOOP] 자바 S3에서 뭐 이따위로 압축 파일을 읽는 방법 (0) | 2019.10.02 |
[HADOOP] 하둡에서 OOM 예외가 아이를 감소 (0) | 2019.10.02 |
[HADOOP] MRJob를 사용하여 여러 매퍼와 다중 입력 (0) | 2019.10.02 |
[HADOOP] 돼지 스크립트에서 정규식 로그에서 문자열을 추출 (0) | 2019.10.02 |