如何使用应用程序事件中的 customDimensions 和 customMeasurements - customEvents(结构化格式)?

How to use customDimensions and customMeasurements from Application events - customEvents (in Structured Format)?

我很难将自定义事件从应用程序事件 JSON 格式转换为 tabular/structured 格式。本质上,我使用数据工厂从 customEvents 中提取了过去 7 天的完整数据转储。现在,我需要为下游应用程序使用 customDimensions 和 customMeasurements,但除了这两列之外,其他列都是结构化格式。我试过爆炸和 data.* 但这根本行不通!

简单介绍一下格式-

{"tab_name_selected":"data","current_tab_name":"files","name":"abc.text"}
{"email":"a.b@c.com"}
{"tab_name_selected":"temp","name":"xyz"}

以上只是其中一个事件的其中几个,可以有多个事件具有多种类型的 json 数组结构,我想将这些类型中的每一种转换为某种查找表,如果列具有匹配的名称其余所有内容都可以视为空值并在下游应用程序中使用它们,例如 Pyspark 或 Python(不确定是否可以在此处处理)。

那么,有没有办法处理或格式化所有这些场景。话虽如此,一切都需要采用结构化格式。

JSON Path

JSON路径可以用来转换结果。 使用 JSON 路径转换,工作簿作者能够将 JSON 转换为 table 结构。

PySpark

使用createOrReplaceTempView

PySpark SQL 还提供了一种读取 JSON 文件的方法,方法是使用 spark.sql(“load JSON to temporary view”)

直接从读取文件创建临时视图
spark.sql("CREATE OR REPLACE TEMPORARY VIEW zipcode USING json OPTIONS" + 
      " (path 'resources/zipcodes.json')")
spark.sql("select * from zipcode").show()

请参考PySpark Read JSON file into DataFrame ,JSON Column to Struct and

JSON to Python

Python 使处理 JSON 文件变得简单。 用于此目的的模块是 [json] 模块。

  import json

我遵循了下面分享的步骤 post -

为我工作