我正在根据几个 Contour 分析准备一份数据质量报告,并希望对报告的不正确记录进行每日快照。然后我想在同一个仪表板中将这些每日数字显示为另一个报告,以查看数据质量的进展情况。
我的主要问题是:
- 轮廓分析可以用作数据存储/计算的来源吗
- 如何在日常基础上存储这些数字(例如 Fusion 电子表格或代码工作簿等)
我正在根据几个 Contour 分析准备一份数据质量报告,并希望对报告的不正确记录进行每日快照。然后我想在同一个仪表板中将这些每日数字显示为另一个报告,以查看数据质量的进展情况。
我的主要问题是:
以下是设置从轮廓分析派生的数据集的每日快照的一个过程:
创建一个执行每日快照并将它们存储在名为的数据集中的 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
在两者上创建构建计划mydataset并 mydataset_daily_snapshots每天(或根据需要频繁地)构建数据集,以便mydataset_daily_snapshots每天都有数据快照。确保您检查Force build以便始终构建快照,即使源数据没有更改:

然后,您可以mydataset_daily_snapshots在另一个 Contour 分析中使用数据集以在报告中显示数据随时间的变化,或从中创建一个 Ontology 对象并使用 Workshop 显示随时间的变化。
需要记住的是,这个数据集可能会很快变得非常大——任何过滤以保持数据集更小(例如,将快照限制为仅不正确的记录或当天不正确记录的总和)是好主意。