[HADOOP] 스파크 예외 : 행을 쓰는 동안 작업을 수행하지 못했습니다.
HADOOP스파크 예외 : 행을 쓰는 동안 작업을 수행하지 못했습니다.
나는 텍스트 파일을 읽고 parquet 파일로 변환 중이다. 나는 스파크 코드를 사용하고있다. 하지만 코드를 실행하려고하면 예외가 발생합니다.
org.apache.spark.SparkException: Job aborted due to stage failure: Task 2 in stage 1.0 failed 4 times, most recent failure: Lost task 2.3 in stage 1.0 (TID 9, ukfhpdbivp12.uk.experian.local): org.apache.spark.SparkException: Task failed while writing rows.
at org.apache.spark.sql.sources.InsertIntoHadoopFsRelation.org$apache$spark$sql$sources$InsertIntoHadoopFsRelation$$writeRows$1(commands.scala:191)
at org.apache.spark.sql.sources.InsertIntoHadoopFsRelation$$anonfun$insert$1.apply(commands.scala:160)
at org.apache.spark.sql.sources.InsertIntoHadoopFsRelation$$anonfun$insert$1.apply(commands.scala:160)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:63)
at org.apache.spark.scheduler.Task.run(Task.scala:70)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:213)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ArithmeticException: / by zero
at parquet.hadoop.InternalParquetRecordWriter.initStore(InternalParquetRecordWriter.java:101)
at parquet.hadoop.InternalParquetRecordWriter.<init>(InternalParquetRecordWriter.java:94)
at parquet.hadoop.ParquetRecordWriter.<init>(ParquetRecordWriter.java:64)
at parquet.hadoop.ParquetOutputFormat.getRecordWriter(ParquetOutputFormat.java:282)
at parquet.hadoop.ParquetOutputFormat.getRecordWriter(ParquetOutputFormat.java:252)
at org.apache.spark.sql.parquet.ParquetOutputWriter.<init>(newParquet.scala:83)
at org.apache.spark.sql.parquet.ParquetRelation2$$anon$4.newInstance(newParquet.scala:229)
at org.apache.spark.sql.sources.DefaultWriterContainer.initWriters(commands.scala:470)
at org.apache.spark.sql.sources.BaseWriterContainer.executorSideSetup(commands.scala:360)
at org.apache.spark.sql.sources.InsertIntoHadoopFsRelation.org$apache$spark$sql$sources$InsertIntoHadoopFsRelation$$writeRows$1(commands.scala:172)
... 8 more
다음과 같은 방식으로 데이터 프레임을 작성하려고합니다.
dataframe.write().parquet(Path)
어떤 도움을 주셔서 감사합니다.
해결법
-
==============================
1.또 다른 가능한 이유는 s3 요청 속도 제한을 초과한다는 것입니다. 로그를 면밀히 살펴보면 다음과 같은 내용을 볼 수 있습니다.
또 다른 가능한 이유는 s3 요청 속도 제한을 초과한다는 것입니다. 로그를 면밀히 살펴보면 다음과 같은 내용을 볼 수 있습니다.
AmazonS3Exception : 요청 속도를 줄이십시오.
Spark UI에서
행을 쓰는 동안 작업을 수행하지 못했습니다.
나는 당신이 문제를 겪고있는 이유를 의심하지 만, 당신이 집중적 인 일을하고 있다면 그 이유가있을 수 있습니다. 그래서 나는 대답의 완성을 위해 포함시켰다.
-
==============================
2.나는이 오류가 일어나지 못하게하는 추측을 발견했다. 나는 그 이유를 잘 모른다. 파르킷 행을 작성할 때 투기 및 비 투기 업무가 충돌하는 것으로 보입니다.
나는이 오류가 일어나지 못하게하는 추측을 발견했다. 나는 그 이유를 잘 모른다. 파르킷 행을 작성할 때 투기 및 비 투기 업무가 충돌하는 것으로 보입니다.
sparkConf.set("spark.speculation","false")
-
==============================
3.스택 트레이스에서 코드 줄로 갈 수있는 IDE에 스택 추적을 붙여넣고 그 내용을 확인하십시오. 아마 그냥 init / config 문제 일 겁니다.
스택 트레이스에서 코드 줄로 갈 수있는 IDE에 스택 추적을 붙여넣고 그 내용을 확인하십시오. 아마 그냥 init / config 문제 일 겁니다.
-
==============================
4.혹시라도 여전히 관련성이있다면,이 문제에 관해 내가 경험 한 것은 내가 hadoop을 시작하지 않았다는 것입니다. 만약 당신이 그것의 위에 스파크를 실행, 그것은 가치관을 시작하고 다시 확인 가치가있을 수 있습니다.
혹시라도 여전히 관련성이있다면,이 문제에 관해 내가 경험 한 것은 내가 hadoop을 시작하지 않았다는 것입니다. 만약 당신이 그것의 위에 스파크를 실행, 그것은 가치관을 시작하고 다시 확인 가치가있을 수 있습니다.
-
==============================
5.필자의 경우 다른 사용자가 속한 hdfs 디렉토리를 덮어 쓰려고 할 때이 오류가 발생했습니다. 디렉토리를 삭제하면 내 프로세스가 처음부터 그것을 쓸 수있게되어 해결됩니다. 그래서 더 많은 파고가 hdfs에 대한 사용자 권한의 방향에 적절하다고 생각합니다.
필자의 경우 다른 사용자가 속한 hdfs 디렉토리를 덮어 쓰려고 할 때이 오류가 발생했습니다. 디렉토리를 삭제하면 내 프로세스가 처음부터 그것을 쓸 수있게되어 해결됩니다. 그래서 더 많은 파고가 hdfs에 대한 사용자 권한의 방향에 적절하다고 생각합니다.
from https://stackoverflow.com/questions/36034928/spark-exception-task-failed-while-writing-rows by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 새로운 데이터가 HDFS에 추가되었는지 어떻게 알 수 있습니까? (0) | 2019.07.22 |
---|---|
[HADOOP] PIG에서 GROUP과 COGROUP의 차이점은 무엇입니까? (0) | 2019.07.22 |
[HADOOP] 원사 - 클러스터 모드에서 Spark 드라이버 (및 YARN 컨테이너)에 대한 장애 조치 프로세스가 어떻게 작동하는지에 대한 리소스 / 문서 (0) | 2019.07.22 |
[HADOOP] java.lang.OutOfMemoryError : 큰 데이터 세트에 대해 새 원시 스레드를 만들 수 없습니다. (0) | 2019.07.22 |
[HADOOP] 감속기에서 매퍼 카운터 값에 액세스하는 방법? (0) | 2019.07.22 |