簡體   English   中英

在PySpark中讀取XML文件

[英]Read XML file in PySpark

我嘗試將XML讀取到PySpark的數據框中。 Databricks的文檔中,我了解了如何加載xml文件,但返回的數據框為空。 下面顯示了如何讀取文件和嘗試解析的文件的示例。

from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.databricks:spark-xml_2.10:0.4.1 pyspark-shell'
conf = SparkConf().setAppName('Stackoverflow')
sc = SparkContext(conf=conf)
sqlc = SQLContext(sc)

sqlc.read \
        .format('com.databricks.spark.xml') \
        .option('rootTag', 'tags') \
        .option('rowTag', 'row') \
        .load('example.xml')

的example.xml:

<?xml version="1.0" encoding="utf-8"?>
<tags>
  <row Id="1" TagName="inclination" Count="18" ExcerptPostId="553" WikiPostId="552" />
  <row Id="3" TagName="exoplanet" Count="219" ExcerptPostId="11" WikiPostId="10" />
</tags>

spark.xml中的books.xml中 ,行標記包含子標記,這些子標記將被解析為行字段。 在我的示例中,沒有子標記,只有屬性。 這是沒有引發錯誤並且結果為空數據幀的主要原因。 我認為應該在下一版本的spark-xml中修復它。

我使用了spark-2.1.0和spark-xml-0.4.0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM