[HADOOP] 프로그램이 중단 될 때 스파크 병합 파일을 푼다
HADOOP프로그램이 중단 될 때 스파크 병합 파일을 푼다
스칼라 / 스파크에서 나는 DataFrame을 사용하고 및 사용하여 하나의 파일로 쓰기
val dataFrame = rdd.toDF()
dataFrame.coalesce(1).write.mode(SaveMode.Overwrite).parquet(filePath)
이 잘 작동합니다. 하지만이 파일을 병합 및 폴더가 하둡 파일 시스템에없는 동안 것을, 콘솔과 하둡의 ls 명령을 사용하여 알아 냈어.
당신은 하둡 FS -ls HDFS를 입력 할 때 : // 경로를 그런 파일이나 디렉토리가 없습니다. 병합이 완료되면 경로는 다시이 또한 파일 병합되었다.
병합 파일을 삭제하고 새로 만들 필요가 있기 때문에이 문제가 발생할 수있다?!
여기에 문제는 지금 : 파일이 파일 시스템에없는 동안 내가 프로세스 / 응용 프로그램을 죽일 때, 전체 파일이 삭제됩니다. 따라서 시스템의 실패는 파일을 파괴하는 것입니다.
어떻게 파일 손실을 방지하는 아이디어가 있습니까? 나는 스파크 / 하둡이의 관심을 거라 생각 했어요.
감사합니다, 알렉스
해결법
from https://stackoverflow.com/questions/33364089/spark-coalesce-looses-file-when-program-is-aborted by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하둡 - 감속기가 시작되지 않는 (0) | 2019.09.27 |
---|---|
[HADOOP] PHP는 hiveserver이 문제 (0) | 2019.09.27 |
[HADOOP] ConnectException이는 : 하둡의 맵리 듀스를 실행하면 연결이 거부 됨 (0) | 2019.09.27 |
[HADOOP] 외부 라이브러리와 하둡 하이브 UDF (0) | 2019.09.27 |
[HADOOP] HiveServer2는 HDFS의 디렉토리를 많이 생성 / tmp를 / 하이브 / 하이브 (0) | 2019.09.27 |