Spark with Java:我想阅读复杂的xml文件(如下所述)并解析它POJO

时间:2018-03-07 21:20:13

标签: java xml apache-spark

我的XML文件是

<?xml version="1.0" encoding="UTF-8"?>
<Root1>
<Root2>
    <RowType1>
    <InsideRowType1>XXX</InsideRowType1>
    </RowType1> 
    <RowType2>
        <InsideRowType2>
            <InnerElement>XXX</InnerElement>
        </InsideRowType2>
    </RowType2>
    <RowType2>
        <InsideRowType2>XXX</InsideRowType2>
    </RowType2>
    <RowType2>
        <InsideRowType2>XXX</InsideRowType2>
    </RowType2>
</Root2>
</Root1>

我尝试使用下面的代码来解析它

Encoder<POSLog> pOSLogEncoder = Encoders.kryo(POSLog.class);
Dataset<POSLog> df  = sparkSession.read().format("com.databricks.spark.xml").schema(**StructType Schema**).load(**File Path**).toDF().sqlContext().sql("set spark.sql.caseSensitive=false").as(pOSLogEncoder);

但它引发了一些错误,然后尝试了这段代码

Dataset<Row> df  = sparkSession.read()
                .format("com.databricks.spark.xml")
                .schema(**StructType Schema**)
                .load(**File Path**)
                .toDF();

但它在df.show()

中返回null

请帮我分析一下我的xml。另外,请建议我们是否可以使用其他优化方法对其进行解析。

0 个答案:

没有答案