Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何将流式XML解析为数据帧?_Apache Spark_Apache Spark Sql_Spark Streaming_Spark Dataframe - Fatal编程技术网

Apache spark 如何将流式XML解析为数据帧?

Apache spark 如何将流式XML解析为数据帧?,apache-spark,apache-spark-sql,spark-streaming,spark-dataframe,Apache Spark,Apache Spark Sql,Spark Streaming,Spark Dataframe,我正在使用kafka主题中的XML文件。有人能告诉我如何将XML解析为数据帧吗 val df = sqlContext.read .format("com.databricks.spark.xml") //.option("rowTag","ns:header") // .options(Map("rowTag"->"ntfyTrns:payloadHeader","rowTag"->"ns:header")) .option("rowTag","

我正在使用kafka主题中的XML文件。有人能告诉我如何将XML解析为数据帧吗

val df = sqlContext.read
    .format("com.databricks.spark.xml")
    //.option("rowTag","ns:header")
   // .options(Map("rowTag"->"ntfyTrns:payloadHeader","rowTag"->"ns:header"))
       .option("rowTag","ntfyTrnsDt:notifyTransactionDetailsReq")
    .load("/home/ubuntu/SourceXML.xml")
    df.show
    df.printSchema()
    df.select(col("ns:header.ns:captureSystem")).show()
我能够精确地从XML中获取信息。我不知道如何将RDD[String]从kafka主题传递、转换或加载到sql read API


谢谢

我也面临同样的情况,在做一些研究时,我发现一些人正在使用这种方法,使用以下代码将RDD转换为数据帧,如图所示:

其中process方法具有以下结构,因此您可以使用RDD执行所有操作

def process(time, rdd):
  return value 
streamElement = ssc.textFileStream("s3n://your_path")
streamElement.foreachRDD(process)
def process(time, rdd):
  return value