使用pysparksql将sqoop压缩的snappy数据文件读入Dataframe

dfddblmv  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(425)

我使用clouderavm5.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编解码器压缩文件,代码就可以正常工作

ykejflvf

ykejflvf1#

尝试添加此配置

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

这个文件也很有用
https://docs.databricks.com/spark/latest/data-sources/read-avro.html

相关问题