我成功地读取了存储在S3中的文本文件,并使用Spark数据帧以ORC格式将其写回S3 . - inputDf.write().orc(outputPath);我无法做的是使用snappy压缩转换为ORC格式 . 我已经尝试在写入时给出选项,因为将编解码器设置为snappy但Spark仍然正常编写ORC . 如何使用Spark Dataframes通过Snappy压缩到S3来实现ORC格式的写入?
inputDf.write().orc(outputPath);
对于任何面临同样问题的人,在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); } }
1 回答
对于任何面临同样问题的人,在Spark 2.0中默认情况下这是可能的 . ORC的默认压缩格式设置为snappy .