Лучший оптимальный способ использования библиотек spark-xml в вашей рабочей области.
Найдите spark-xml в разделе пакета maven / spark и выполните этот шаг, чтобы добавить его в библиотеки https://docs.databricks.com/user-guide/libraries.html#create-a-library
Присоединение библиотек к кластеру
https://docs.databricks.com/user-guide/libraries.html#attach-a-library-to-a-cluster
наконец, используйте следующий код для чтения XML-данных в блоках данных
xmldata = spark.read.format('xml').option("rootTag","note").load('dbfs:/mnt/mydatafolder/xmls/note.xml')
Также вот код Python для того же:
import xml.etree.ElementTree as ET
xmlfiles = dbutils.fs.ls(storage_mount_name)
##Get attribute names (for now I took all leafs of the xml structure)
firstfile = xmlfiles[0].path.replace('dbfs:','/dbfs')
root = ET.parse(firstfile).getroot()
attributes = [node.tag for node in root.iter() if len(node)==0]
clean_attribute_names = [re.sub(r'\{.*\}', '', a) for a in attributes]
#Create Dataframe and save it as csv
df = pd.DataFrame(columns=clean_attribute_names, index=xmlfiles)
for xf in xmlfiles:
afile = xf.path.replace('dbfs:','/dbfs')
root = ET.parse(afile).getroot()
df.loc[afile] = [node.text for node in root.iter() if node.tag in attributes]