首页 文章

使用Snappy压缩以ORC格式编写Spark数据帧

提问于
浏览
2

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

1 回答

  • 1

    对于任何面临同样问题的人,在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);
    
       }
    }
    

相关问题