簡體   English   中英

如何從 Azure Data Lake Gen2 訪問 XML 文件並將其轉換為 Azure Databricks 中的數據幀?

[英]How to access XML file from Azure Data Lake Gen2 and transform it into data-frame in Azure Databricks?

我們需要訪問位於 Azure Data Lake Gen2 中的 XML 文件並將其轉換為如下所示的數據幀。

示例 XML 數據:

<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>

預期數據幀輸出:

在此處輸入圖片說明

誰可以幫我這個事。

首先,您需要學習從 Azure Data Lake Gen2 讀取數據到 Azure databricks。

您可以從許多教程中學習:

  1. Databricks:從 Blob 存儲導入數據 這篇博文是關於將數據從 Blob 存儲導入到 Azure 數據塊。
  2. Databricks 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 (在 maven/spark 包部分中搜索 spark-xml 並導入它)
  2. 將庫附加到您的集群https://docs.databricks.com/user-guide/libraries.html#attach-a-library-to-a-cluster
  3. 在您的筆記本中使用以下代碼讀取 xml 文件,其中“note”是 xml 文件的根。

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

請參考: 如何讀取 XML 文件 Azure Databricks Spark

結合這些文件,我想你可以找出你的問題。 我對 Azure 數據塊了解不多,很抱歉無法為您測試。

希望這可以幫助。

暫無
暫無

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

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