使用pyspark sql将sqoop压缩的snappy数据文件读入数据框

时间:2017-06-26 22:06:12

标签: python apache-spark compression sqoop snappy

我正在使用Cloudera VM 5.8 读取sqoop导入的Avro文件时出错,使用snappy编解码器压缩

conf = (SparkConf().setMaster("local").setAppName("anoterApp1").set("spark.executor.memory", "1g"))
sc=SparkContext(conf= conf)
sqlc = SQLContext(sc)
df = sqlc.read.format("com.databricks.spark.avro").load("/sqoopimported/avro/compressed/directorypath")
  

收到以下错误:       py4j.protocol.Py4JJavaError:调用o266.load时发生错误。

如果我没有使用snappy编解码器

压缩文件,代码工作正常

1 个答案:

答案 0 :(得分:0)

尝试添加此配置

 spark.conf.set("spark.sql.avro.compression.codec", "snappy")

此文档也很有用

https://docs.databricks.com/spark/latest/data-sources/read-avro.html