2

我正在根据几个 Contour 分析准备一份数据质量报告,并希望对报告的不正确记录进行每日快照。然后我想在同一个仪表板中将这些每日数字显示为另一个报告,以查看数据质量的进展情况。

我的主要问题是:

  1. 轮廓分析可以用作数据存储/计算的来源吗
  2. 如何在日常基础上存储这些数字(例如 Fusion 电子表格或代码工作簿等)
4

1 回答 1

1

以下是设置从轮廓分析派生的数据集的每日快照的一个过程:

  1. 确保等值线分析结果保存为数据集。我们称这个数据集为mydataset轮廓

  2. 创建一个执行每日快照并将它们存储在名为的数据集中的 Python 转换mydataset_daily_snapshots

    from transforms.api import transform_df, Input, Output
    from pyspark.sql import functions as F
    
    @transform_df(
        Output("/output/path/for/mydataset_daily_snapshots"),
        my_input=Input("/path/to/mydataset"),
    )
    def compute(my_input):
    
        out_df = my_input.withColumn('asof_timestamp', F.current_timestamp())  # the column 'asof_timestamp' will contain the snapshot for this row on the current date
        out_df = out_df.withColumn('primary_key', F.concat_ws('-', 'id', 'asof_timestamp'))  # this second line is optional -- create a primary key for this row, in case you want to create an Ontology object later on for use in Workshop.
    
        return out_df
    
  3. 在两者上创建构建计划mydatasetmydataset_daily_snapshots每天(或根据需要频繁地)构建数据集,以便mydataset_daily_snapshots每天都有数据快照。确保您检查Force build以便始终构建快照,即使源数据没有更改: 构建计划截图

然后,您可以mydataset_daily_snapshots在另一个 Contour 分析中使用数据集以在报告中显示数据随时间的变化,或从中创建一个 Ontology 对象并使用 Workshop 显示随时间的变化。

需要记住的是,这个数据集可能会很快变得非常大——任何过滤以保持数据集更小(例如,将快照限制为仅不正确的记录或当天不正确记录的总和)是好主意。

于 2021-08-31T19:29:47.290 回答