生成结构 load_structure 操作本身并不复杂

AEO Service Forum Drives Future of Data Innovation
Post Reply
rumana777
Posts: 195
Joined: Thu Dec 26, 2024 3:58 am

生成结构 load_structure 操作本身并不复杂

Post by rumana777 »

然而,重要的是结构的类型。它表示为 Spark 模式,因为我们将使用它来将数据加载为 Spark DataFrames,因为 Great Expectations 可以与它​​们配合使用。Pydantic 模型中的每个嵌套对象都将表示为单独的 Spark 模式,因为 Great Expectations 不能很好地处理嵌套数据。

例如像这样的 Pydantic 模型:

该演示已包含 Owler 公司数据的数据、结构和期望。但是,如果您想为自己的数据生成结构(以及您自己的结构),可以按照以下步骤进行操作。运行以下命令生成 Spark 结构的示例:


此命令为 Pydantic 模型生成 Spark 结构并将 秘鲁 电话列表 其保存为 gx_demo/data 目录中的 example_spark_structure.json。

准备和验证数据
加载结构后,我们需要准备数据进行验证。这引出了 get_flat_items 操作,该操作负责展平数据。我们需要展平数据,因为每个嵌套对象都将表示为单独 Spark DataFrame 中的一行。因此,如果我们有一份如下所示的公司列表:

然后,来自 get_flat_items 操作的扁平化数据将根据我们在 load_dfs 操作中的 load_structure 操作中加载的结构加载到每个 Spark DataFrame 中。

load_dfs 操作使用DynamicOut,它允许我们根据在 load_structure 操作中加载的结构创建动态图。

基本上,我们将为结构中的每个嵌套对象创建一个单独的 Spark DataFrame。Dagster 将创建一个单独的 ge_validation 操作,该操作将对每个 DataFrame 的 Great Expectations 验证进行并行化。并行化不仅因为它可以加快进程,还因为它可以创建一个图形来支持任何类型的数据结构。

因此,如果我们抓取一个新目标,我们可以轻松添加一个新结构,并且图表将能够处理它。
yadaysrdone
Posts: 28468
Joined: Sun Apr 13, 2025 9:48 am

Re: 生成结构 load_structure 操作本身并不复杂

Post by yadaysrdone »

Post Reply