[HADOOP] Sqoop 출력 파일에 사용자 정의 이름을 지정하는 방법
HADOOPSqoop 출력 파일에 사용자 정의 이름을 지정하는 방법
기본적으로 sqoop을 사용하여 하이브로 데이터를 가져 오면 HDFS에서 파일 이름이 part-m-0000, part-m-0001 등으로 생성됩니다.
이 파일들의 이름을 바꿀 수 있습니까?
로드를 나타내는 날짜를 가진 접미사 파일 이름과 같은 의미있는 이름을 지정하려면 어떻게해야합니까?
제안 해주세요
해결법
-
==============================
1.sqoop으로 직접 할 수는 없지만 sqoop 가져 오기가 완료된 후 HDFS에서 이름을 바꿀 수 있습니다.
sqoop으로 직접 할 수는 없지만 sqoop 가져 오기가 완료된 후 HDFS에서 이름을 바꿀 수 있습니다.
today=`date +%Y-%m-%d` files=$(hadoop fs -ls /path-to-files | awk '{print $8}') for f in $files; do hadoop fs -mv $f $f$today; done
첫 번째 명령은 오늘 날짜를 얻습니다. 두 번째 명령은 디렉토리 내의 모든 파일 이름을 가져옵니다. 세 번째 명령은 날짜를 추가하여 해당 파일의 이름을 바꿉니다.
-
==============================
2.그래 우리는 할 수있어 ! 여길 봐
그래 우리는 할 수있어 ! 여길 봐
sqoop import -D mapreduce.output.basename=`date +%Y-%m-%d`
from https://stackoverflow.com/questions/28695790/how-to-give-custom-name-to-sqoop-output-files by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] JobControl 및 JofConf.setMapperClass () 오류 (0) | 2019.09.11 |
---|---|
[HADOOP] 혼란스러운 하둡 릴리스 버전 (0) | 2019.09.11 |
[HADOOP] 하나의 파일 또는 디렉토리를 처리하는 하나의 맵퍼 또는 감속기 (0) | 2019.09.11 |
[HADOOP] Hadoop 2 + YARN에서 동시 맵퍼 및 # 리듀서는 어떻게 계산됩니까? (0) | 2019.09.11 |
[HADOOP] auxService : mapreduce_shuffle이 존재하지 않습니다 (0) | 2019.09.11 |