Mam kilkaset folderów z kilkoma tysiącami spakowanych plików tekstowych w s3 i próbuję je odczytać w ramce danych z spark.read.csv()
.Spark - jak pominąć lub zignorować puste pliki gzip podczas czytania
Wśród plików, istnieją pewne z zerowej długości, w wyniku błędu:
java.io.EOFException: Unexpected end of input stream
Kod:
df = spark.read.csv('s3n://my-bucket/folder*/logfiles*.log.gz',sep='\t',schema=schema)
Próbowałem ustawienie mode
do DROPMALFORMED
i czytanie z sc.textFile()
ale brak szczęścia.
Jaki jest najlepszy sposób obsługi pustych lub uszkodzonych plików gzip?
Gdzie ta dokumentacja jest udokumentowana? Nie znalazłem tego w https://spark.apache.org/docs/latest/configuration.html – leon
Nie jest to oficjalna dokumentacja, ale jest zawarte w bilecie Jira: https://issues.apache.org/jira/browse/SPARK-19082 i cytowany przez dostawcę iskrzy Xiao Li w tej prezentacji: https://fr.slideshare.net/databricks/building-robust-etl-pipelines-with-apache-spark/20 –