使用 Snappy 压缩以 ORC 格式编写 Spark 数据帧
Writing Spark dataframe in ORC format with Snappy compression
我成功读取存储在 S3 中的文本文件,并使用 Spark 数据帧以 ORC 格式将其写回 S3。 - inputDf.write().orc(outputPath);
我无法做的是通过快速压缩转换为 ORC 格式。我已经尝试在编写时提供选项,将编解码器设置为 snappy,但 Spark 仍在编写正常的 ORC。如何使用 Spark Dataframes 以 Snappy 压缩将 ORC 格式写入 S3?
对于遇到同样问题的任何人,
在 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", "[=10=]1").option("quote", "'").csv(inputPath);
inputDf.write().format("orc").save(outputPath);
}
}
我成功读取存储在 S3 中的文本文件,并使用 Spark 数据帧以 ORC 格式将其写回 S3。 - inputDf.write().orc(outputPath);
我无法做的是通过快速压缩转换为 ORC 格式。我已经尝试在编写时提供选项,将编解码器设置为 snappy,但 Spark 仍在编写正常的 ORC。如何使用 Spark Dataframes 以 Snappy 压缩将 ORC 格式写入 S3?
对于遇到同样问题的任何人, 在 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", "[=10=]1").option("quote", "'").csv(inputPath);
inputDf.write().format("orc").save(outputPath);
}
}