【问题标题】:xml to DataFrame in scalaxml到Scala中的DataFrame
【发布时间】:2017-07-26 10:43:51
【问题描述】:

目前在我的 scala 项目中,我使用 kafka 通过 spark-streaming 接收 xml 数据。我的做法很简单:

KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](ssc,kafkaparams,topics)
val lines = inputstream.map(_._2)
lines.foreachRDD(rdd => {
   rdd.foreach(record => {
   println(record)}
   )}    
)

之后我必须将我的字符串转换为 DataFrame。为此,我使用导出到 .xml 并使用 sqlcontext.read.load("pathtofile") 导入,一切正常。

问题:是否可以直接从 kafka-rdd 将单行 xml-string 转换为 DataFrame,我该怎么做?

【问题讨论】:

    标签: xml scala apache-spark apache-kafka rdd


    【解决方案1】:

    使用xml loader,您可以实现以下目标:

    import org.apache.spark.sql.SQLContext
    
    val sqlContext = new SQLContext(sc)
    val df = sqlContext.read
        .format("com.databricks.spark.xml")
        .option("rowTag", "<your tag>")
        .load("<path to your xml>")
    

    【讨论】:

    • 是的,我已经使用这种方式从文件中导入现有的 xml,而且,正如我所提到的,它非常有效。但我的问题是如何直接从 rdd 创建 df,我在从 kafka 接收 xml 的步骤中:)
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 2022-11-02
    • 2019-10-23
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    相关资源
    最近更新 更多