【发布时间】:2022-11-22 04:32:47
【问题描述】:
我们的输入流中有一个嵌套的 json,我们正在使用 Upsolver 雪花输出将其写入雪花标准化表。父表很好,但在子表中看到 NULL 记录。为什么会发生这种情况,我们如何解决这个问题?
【问题讨论】:
我们的输入流中有一个嵌套的 json,我们正在使用 Upsolver 雪花输出将其写入雪花标准化表。父表很好,但在子表中看到 NULL 记录。为什么会发生这种情况,我们如何解决这个问题?
【问题讨论】:
发生这种情况可能是因为您的输入 json 中有空子节点。由于父 ID 始终存在于输入记录中,因此子表输出记录将填充此父 ID,并且子表的其余列将为 NULL,因为输入事件中没有数据。为了解决这个问题,请在您的子表 Upsolver Snowflake 输出中添加“WHERE <child_identifier> is NOT NULL”。这将确保只有有效的子节点才会真正被写入。
注意:子记录的 Upsolver 输出预览也会显示空值,这应该表明此输出的 SQL 需要一些更正,在本例中为 WHERE 过滤器。
如果此作业已经运行,请停止作业,截断雪花表,编辑作业以添加 WHERE 条件并从头开始重新运行作业(从头开始重播)。
【讨论】: