当前位置: 首页 > 知识库问答 >
问题:

如何从Azure Data Lake Gen2访问XML文件并将其转换为Azure Database ricks中的数据帧?

强硕
2023-03-14

我们需要访问位于Azure Data Lake Gen2中的XML文件,并将其转换成如下所示的dataframe。

示例数据:

<SOAP-ENV:Envelope
   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

<SOAP-ENV:Body>
           <ns2:getProjectsResponse
               xmlns:ns2="http://www.logic8.com/eq/webservices/generated">
               <ns2:Project>
                   <ns2:fileName>P10001</ns2:fileName>
                   <ns2:alias>project1</ns2:alias>
               </ns2:Project>
               <ns2:Project>
                   <ns2:fileName>P10002</ns2:fileName>
                   <ns2:alias>project2</ns2:alias>
               </ns2:Project>
       <ns2:Project>
                   <ns2:fileName>P10003</ns2:fileName>
                   <ns2:alias>project3</ns2:alias>
               </ns2:Project>
           </ns2:getProjectsResponse>
       </SOAP-ENV:Body>
   </SOAP-ENV:Envelope>

预期数据帧输出:

任何人都可以帮我这个。

共有1个答案

蔚学真
2023-03-14

首先,您需要学习从Azure data Lake Gen2读取数据到Azure数据块。

有很多教程可以学习:

  1. 数据砖:从 Blob 存储导入数据。这篇博客文章介绍了如何将数据从 Blob 存储导入 Azure 数据砖。
  2. 数据砖 Azure Blob 存储:本文介绍如何通过使用 DBFS 装载存储或直接使用 API 来访问 Azure Blob 存储。

其次,关于xml数据类型,你需要使用使用@Axel R已经在评论中提供的databricks spark-xml库。

  1. 将 spark-xml 库导入工作区 https://docs.databricks.com/user-guide/libraries.html#create-a-library(在“生成/火花包”部分中搜索 spark-xml 并将其导入)
  2. 将库附加到群集 https://docs.databricks.com/user-guide/libraries.html#attach-a-library-to-a-cluster
  3. 在笔记本中使用以下代码读取 xml 文件,其中“注释”是 xml 文件的根。

xmldata=spark.read.format('xml').option(“rootTag”,“note”).load('dbfs:/mnt/mydatafolder/xmls/note.xml')

请参考:如何读取XML文件Azure Database ricks Spark。

结合这些文件,我想你可以解决你的问题。我不太了解Azure databricks,很抱歉我不能为您测试。

希望这有所帮助。

 类似资料:
  • 问题内容: 我需要从XML文件中获取数据并将其存储到MySQL数据库中。我正在考虑使用SAX解析器来解析数据,但是我不确定如何将数据有效地存储到数据库中,我正在考虑使用JDBC和Hibernate等少数技术,但是我想问一问有效的处理方式它? 注意:此处的编程语言是Java。 问题答案: 您可以使用Castor witch是一个开放源数据绑定框架,用于将数据从XML移动到Java编程语言对象以及从J

  • 给我最好的方式来写代码。 如何在C#中将XML文件转换为CSV文件,只显示以下标记: 输出CSV文件格式应如下所示:

  • 我需要从Excel表中读取数据,并需要将数据转换为键值对。 我已经写了下面的代码。 这是我的代码: 我得到的结果如下: 然而,我需要的输出,所有的头列应该来在映射键和相应的数据应该作为值。 我需要将我的数据设置为如下格式,请帮助<代码>地图

  • 问题内容: 我有一个XML文件 我必须将此XML转换为CSV文件。我听说我们可以使用XSLT进行此类操作。如何在Java中(带有/不带有XSLT)执行此操作? 问题答案: 用伪代码: 这个快速的小循环将在每行的末尾写一个逗号,但是我敢肯定您可以弄清楚如何删除它。 为了实际解析XML,我建议使用JDOM。它具有非常直观的API。

  • 我有如下XML文件: 如何快速将其转换为C#类以通过LINQ使用access数据?我必须为任何XML文件情况手动编写类吗?那么JSON格式呢?

  • 我正在使用云Firestore作为我的Ionic/Cordova应用程序的数据库。 我的问题是试图从Firestore数据库中“获取”存储的数据,并在我的“计算函数”中使用它们。 我在Firestore中的数据库结构如下: 我当前的代码能够从Firestore中检索/获取数据,但是我还不能利用这些数据,因为我找不到这样做的方法。 获取数据功能: