如何在pyspark中加载gzip压缩的csv文件?

时间:2015-12-07 10:15:08

标签: apache-spark apache-spark-sql pyspark pyspark-sql

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

file1.log.gz.processed只是一个csv文件。但是我如何在pyspark中阅读,最好是pyspark.sql

我尝试指定格式和压缩但无法找到正确的键/值。如,

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

没有工作。虽然Spark可以处理gz文件,但似乎从文件名中确定了编解码器。如,

sc.textFile(fn)

如果文件以.gz结尾,

将起作用,但在我的情况下不会。

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

1 个答案:

答案 0 :(得分:1)

你不应该使用.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")