文件名不以 .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")

关于apache-spark - 如何在 pyspark 中加载 gzip 压缩的 csv 文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34131092/

10-12 22:38