spark是否支持镶木地板格式的多个输出文件

时间:2016-09-02 10:08:19

标签: scala apache-spark parquet

业务案例是我们希望通过列作为分区将大的镶木地板文件拆分成小的。我们使用了dataframe.partition(" xxx")。write(...)进行了测试。花了大约1小时,有100K条记录。因此,我们将使用map reduce在不同的文件夹中生成不同的镶木地板文件。示例代码:

// assuming your json data in "jsonObject"

$scope.myArray = [];

angular.forEach('jsonObject', function (data) {
   $scope.stringData = data.toString();
   $scope.myarray.push(stringData);
});

上面的示例只生成一个文本文件,如何使用multipleoutputformat生成一个镶木地板文件?

1 个答案:

答案 0 :(得分:1)

Spark支持从1.4.0开始的Parquet分区(1.5 +语法):

df.write.partitionBy("some")
从<(2.0.0)开始

和bucketing:

df.write.bucketBy("some")

带有可选的sortBy子句。