以下是在 Pyspark 中展平嵌套 XML 并转换为 Dataframe 的步骤
第 1 步: 使用以下脚本将 XML 转换为原始数据帧
%%pyspark
df = spark.read \
.format("com.databricks.spark.xml") \
.option("rootTag", "your root tag") \
.option("rowTag", "your row tag") \
.option("valueTag", True) \
.load('file.xml')
display(df)
第 2 步: 在使用
to_json
函数读取嵌套选项卡之前,将嵌套选项卡转换为 JSON。
from pyspark.sql.functions import to_json
df_new = df.withColumn("Address",to_json("Address"))
display(df_new)
Step3: 使用
from_json
函数和相应的 schema 来解析 json 字符串。
import pyspark.sql.functions as F
json_schema = "_Address1 string, \
_Address2 string, \
_City string, \
State string"
df = df_new.withColumn("x", F.from_json("Address", json_schema)).select("*", "x.*")
display(df)
将显示扁平化干净的DataFrame。您可以根据需要删除不需要的列。