Tôi có một vài trăm thư mục với hàng nghìn tệp văn bản được nén trong s3 và tôi đang cố đọc chúng vào một khung dữ liệu với spark.read.csv()
.Spark - cách bỏ qua hoặc bỏ qua các tệp gzip trống khi đọc
Trong số các tập tin, có một số với số không dài, dẫn đến lỗi:
java.io.EOFException: Unexpected end of input stream
Code:
df = spark.read.csv('s3n://my-bucket/folder*/logfiles*.log.gz',sep='\t',schema=schema)
Tôi đã thử đặt mode
-DROPMALFORMED
và đọc với sc.textFile()
nhưng không may mắn.
Cách tốt nhất để xử lý tệp gzip trống hoặc bị hỏng là gì?
Cấu hình này được ghi lại ở đâu? Tôi không tìm thấy nó trong https://spark.apache.org/docs/latest/configuration.html – leon
Nó không có trong tài liệu chính thức nhưng nó được bao gồm trong một vé Jira: https://issues.apache.org/jira/duyệt/SPARK-19082 và được trích dẫn bởi người đóng góp tia lửa Xiao Li trong bản trình bày này: https://fr.slideshare.net/databricks/building-robust-etl-pipelines-with-apache-spark/20 –