【发布时间】:2019-10-16 19:39:39
【问题描述】:
从数据块中的 TSV/CSV 文件中提取 Xml 数据
对于 Tsv 文件之间的 xml 数据,我几乎不需要任何帮助。在几个 Databricks 问题论坛上看到了答案。我不确定是否可以直接实现和使用任何 UDF 类型的函数。如果可以在 pyspark 中完成任何事情或任何内置的 databricks 实用程序可以处理它,请请求您的输入。
需要 tsv id、status 其他列以及 XML 中的一些内部属性。 请建议如何在 pyspark 或 spark sql 中实现逻辑。这里的文件不是 XML,文件中的一列有 XML 数据。
我尝试像文本一样读取文件并将其转换为 dataframe 。我需要建议从数据框中提取 XML 内容。
文件示例如下所示,顶部有标题:
Id || UserId || UserSgid || ClientId || Version || WTVersion || Details || Status || DCT || DMD || Visible
33144
6587a872-23ce-4453-8c68-1209ac21352b
ce9c6fcc-d20e-4f5f-8e64-e307849d1fda
986b5314-7269-4bd3-abee-6f9b1b27b990
1
1
<Workflow xmlns="http://schemas.datacontract.org/2004/07/SMT.WorkflowSteps" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><DateCompleted i:nil="true" />
<DateStarted>2017-05-19T02:50:25.647</DateStarted>
<Enabled>true</Enabled>
<Id>986b5314-7269-4bd3-abee-6f9b1b27b990</Id>
<Status>Started</Status>
<Visible>true</Visible>
<DateCreated>2019-08-22T21:47:24.8648778Z</DateCreated>
<ExecutionId>c2ea7b9d-cd6a-432f-8fd4-2e8cfae679e9</ExecutionId>
<Steps xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a:anyType i:type="WorkflowPhase">
<DateCompleted i:nil="true" />
<DateStarted i:nil="true" />
<Enabled>true</Enabled>
<Id>8184775f-a5f2-4648-bb6b-cbc840f73a10</Id>
<Status>NotStarted</Status>
<Visible>true</Visible>
<Steps>
<a:anyType i:type="OldAccommodationRequestWorkflowStep">
<DateCompleted i:nil="true" />
<DateStarted i:nil="true">
1
2016-05-18 17:19:37.9770000
2019-08-22 21:47:36.3600000
True
需要从具有 xml 内容的详细信息列中提取数据以及 Id,UserId,UserSgid,ClientId,Version,WTVersion 和少量其他数据,如 ExecutionId ,Status 等。
【问题讨论】:
-
能否请您明确您的文件样本?例如,我无法区分 Id 和 xml 部分。谢谢
-
嗨 Driss,请找到如下示例文件,
标签: xml apache-spark pyspark azure-databricks