apache-spark – 如何在pyspark中加载gzip压缩的csv文件?

文件名不以.gz结尾,我无法更改它们,因为它们与其他程序共享.

file1.log.gz.processed只是一个csv文件.但是如何在pyspark中读取它,最好是在pyspark.sql中?

我试图指定格式和压缩,但找不到正确的键/值.例如.,

sqlContext.load(fn,format =’gz’)

没用.虽然Spark可以处理gz文件,但似乎从文件名中确定了编解码器.例如.,

sc.textFile(FN)

如果文件以.gz结尾但不在我的情况下,则会有效.

如何指示Spark使用正确的编解码器?谢谢!

最佳答案 你不应该使用.load,因为它是 deprecated(从版本1.4.0开始).您应该使用read.format(source).schema(schema).options(options).load().

sql_context.read.format("com.databricks.spark.csv")
.options(
  header=... # e.g., "true"
  inferSchema=...)
.load(file_path + ".gz")
点赞