如何进一步优化Spark数据集的枢轴

时间:2018-11-27 17:23:01

标签: java scala apache-spark

我正在使用以下代码来转换输入数据。我大约有70,000个输入xml文件,而spark作业大约需要5.6分钟才能创建数据透视表数据集。

有什么办法可以进一步优化它?

String seqnum = "seqnum";
        Dataset<Row> atgXmlParse = spark
                .read()
                .format("xml")
                .option(rowtag, "RECORD")
                .schema(schema)
                .load(path);

        Dataset<Row> atgXmlExplodeDS = atgXmlParse
                .withColumn(seqnum, monotonically_increasing_id())
                .select(col(seqnum), explode(col("PROP")).as("PROP"))
                .select(col(seqnum), col("PROP.*"));

        return atgXmlExplodeDS
                .groupBy(seqnum)
                .pivot("_NAME", colList)
                .agg(concat_ws(",", collect_list(col("PVAL"))));

0 个答案:

没有答案