3

我成功地读取了存储在 S3 中的文本文件,并使用 Spark 数据帧以 ORC 格式将其写回 S3。-inputDf.write().orc(outputPath);
我无法做的是使用快速压缩转换为 ORC 格式。我已经尝试在将编解码器设置为 snappy 时给出选项,但 Spark 仍然像正常的 ORC 一样编写。如何使用 Spark Dataframes 通过 Snappy 压缩到 S3 实现 ORC 格式的写入?

4

1 回答 1

3

对于面临相同问题的任何人,在 Spark 2.0 中默认情况下这是可能的。ORC 的默认压缩格式设置为 snappy。

public class ConvertToOrc {
    public static void main(String[] args) {
        SparkSession spark = SparkSession
                .builder()
                .appName("OrcConvert")
                .getOrCreate();
        String inputPath = args[0];
        String outputPath = args[1];

        Dataset<Row> inputDf = spark.read().option("sep", "\001").option("quote", "'").csv(inputPath);
        inputDf.write().format("orc").save(outputPath);

   }
}
于 2016-10-05T13:35:42.123 回答