如何在Spark Java中使用databricks解析XML

如何在Spark Java中使用databricks解析XML,java,parsing,databricks,Java,Parsing,Databricks,我需要在Spark中使用databricks解析XML文件 我想显示属性计数=7的结果 我想得到输出: 足球 这是我的XML文件: <?xml version="1.0" encoding="utf-8"?> <tags> <row Id="1" TagName="soccer" Count="7" ExcerptPostId="12371" WikiPostId="12370" /> <row Id="2" TagName="servos" Count

我需要在Spark中使用databricks解析XML文件

我想显示属性计数=7的结果

我想得到输出: 足球

这是我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<tags>
<row Id="1" TagName="soccer" Count="7" ExcerptPostId="12371" WikiPostId="12370" />
<row Id="2" TagName="servos" Count="63" ExcerptPostId="186" WikiPostId="185" />
<row Id="3" TagName="control" Count="394" ExcerptPostId="192" WikiPostId="191" />
<row Id="5" TagName="gait" Count="4" ExcerptPostId="12362" WikiPostId="12361" />
</tags>

我的主课(但它不能正常工作):

import org.apache.spark.api.java.function.FilterFunction;
导入org.apache.spark.sql.SparkSession;
导入org.apache.spark.sql.Dataset;
导入org.apache.spark.sql.Row;
导入org.apache.spark.sql.SQLContext;
导入com.databricks.spark.xml.XmlReader;
公共类SimpleApp{
公共静态void main(字符串[]args){
字符串someFile=“/home/files/Tags.xml”;
SparkSession spark=SparkSession.builder().appName(“简单应用”).getOrCreate();
数据集logData=spark.read().textFile(someFile.cache();
SQLContext SQLContext=新的SQLContext(sc);
数据集df=sqlContext.read.xml(“/home/files/Tags.xml”);
DataFrame df=sqlContext.read()
.format(“com.databricks.spark.xml”)
.选项(“标签”、“计数”)
.load(“/home/files/Tags.xml”);
df.select(“标记名”、“计数”).write()
.format(“com.databricks.spark.xml”)
.option(“标记”、“标记名”)
.save(“/home/files/Tags.xml”);
spark.stop();
}
}

提前谢谢你

检查这个@VictorGubin谢谢,但是我找不到使用Databricks的示例你是说xml数据源-请看Java APIsection@VictorGubin我试过了,但不管用
import org.apache.spark.api.java.function.FilterFunction;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SQLContext;
import com.databricks.spark.xml.XmlReader;

public class SimpleApp {
public static void main(String[] args) {

    String someFile = "/home/files/Tags.xml";

    SparkSession spark = SparkSession.builder().appName("Simple app").getOrCreate();

    Dataset<String> logData = spark.read().textFile(someFile).cache();

    SQLContext sqlContext = new SQLContext(sc);
    Dataset<Row> df = sqlContext.read.xml("/home/files/Tags.xml");
    DataFrame df = sqlContext.read()
            .format("com.databricks.spark.xml")
            .option("tags", "Count")
            .load("/home/files/Tags.xml");

    df.select("TagName", "Count").write()
            .format("com.databricks.spark.xml")
            .option("tags", "TagName")
            .save("/home/files/Tags.xml");

        spark.stop();
    }
}