Как я могу сохранить CSV заполнить в сжатом формате Snappy Pyspark - версия 2.0+ - PullRequest
0 голосов
/ 17 декабря 2018

Я пробовал приведенный ниже код -

riders.write.csv(path="/loudacre/devices4_csv", sep=",", mode="overwrite", compression="snappy")

Ошибка - 18/12/22 13:54:38 ОШИБКА executor.Executor: Исключение в задании 0.0 на этапе 10.0 (TID 10) Java.lang.RuntimeException: нативная библиотека snappy недоступна: эта версия libhadoop была собрана без поддержки snappy.в org.apache.hadoop.io.compress.SnappyCodec.checkNativeCodeLoaded (SnappyCodec.java:65) в org.apache.hadoop.io.compress.SnappyCodec.getCompressorType (SnappyCodec.java:134) в org.apache.hadoopio.compress.CodecPool.getCompressor (CodecPool.java:150) по адресу org.apache.hadoop.io.compress.CompressionCodec $ Util.createOutputStreamWithCodecPool (CompressionCodec.java:131) по адресу org.apache.hadoopretoCatec.put.put(SnappyCodec.java:100) в org.apache.spark.sql.execution.datasources.CodecStreams $$ anonfun $ createOutputStream $ 1.apply (CodecStreams.scala: 84) в org.apache.spark.sql.execution.datasources.CodecStreams$$ anonfun $ createOutputStream $ 1.apply (CodecStreams.scala: 84) в scala.Option.map (Option.scala: 146) в org.apache.spark.sql.execution.datasources.CodecStreams $ .createOutputStream (CodecStreams.scala:84) в org.apache.spark.sql.execution.datasources.CodecStreams $ .createOutputStreamWriter (CodecStreams.scala: 92) в org.apache.spark.sql.execution.datasources.csv.CsvOutputWriter.(CSVFileFormat.scala: 177) в org.apache.spark.sql.execution.datasources.csv.CSVFileFormat $$ anon $ 1.newInstance (CSVFileFormat.scala: 85) в org.apache.spark.sql.execution.datasources.SritDirectoryDirect..newOutputWriter (FileFormatDataWriter.scala: 120) в org.apache.spark.sql.execution.datasources.SingleDirectoryDataWriter. (FileFormatDataWriter.scala: 108) в org.apache.spark.sql.execution.datasriter $.$ spark $ sql $ исполнительные $ источники данных $ FileFormatWriter $$ executeTask (FileFormatWriter.scala: 233) в org.apache.spark.sql.execution.datasources.FileFormatWriter $$ anonfun $ write $ 1.apply (FileFormatWriter.scala: 169)

1 Ответ

0 голосов
/ 24 декабря 2018

Проверьте, установлен ли snappy.hadoop checknative -a

Если он не установлен: yum install snappy snappy-devel

https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.5/bk_command-line-installation/content/install_compression_libraries.html

Если он установлен, но если он не выбран искрой, вы можете вручную добавить его вискровым default.conf.Вы можете изменить пути в зависимости от вашего местоположения.

spark.driver.extraClassPath=/usr/hdp/current/hadoop-client/lib/snappy*.jar
spark.driver.extraLibraryPath=/usr/hdp/current/hadoop-client/lib/native
...