如何从数据集自动化方法逻辑中的 table 列更新数据集中的视图列? |bigquery|云函数

How to update view column in DatasetB from table column in DatasetA automate approach logic ? |bigquery|cloud function

我在 DatasetA 中有一个表 A

DatasetA TableA

cd xcd value
1 x1 one
2 x2
3 x3 three

下面是在 DatasetB 中的 tableA 上创建的 viewA,其中值为空

DatasetB ViewA

cd value
1
2
3

如何在 viewA 中自动更新 value 的过程 DatasetB 来自 value of Dataset A Table A ?如果 value 中没有数据,请输入其他值,例如 'no value'

**Expected Final Output of ViewA**
cd value
1 one
2 no value
3 three

一种方法是使用 Cloud Function to automate your Bigquery update by attaching a Pub-Sub Trigger, then create a Cloud Scheduler Job 调用 Pub/Sub 触发器。

另一种无需使用 Cloud Function、Pub-Sub 和 Cloud Scheduler 的方法是使用 Bigquery 中的可用工具 - SCHEDULE 查询编辑器中的功能:

然后创建一个新的预定查询:

您可以使用以下 SQL 查询来更新视图:

select viewA.cd,
if(tableA.value = '','no_value',tableA.value) as value
from `my-project.my_datasetA.my_table` as tableA
inner join `my-project.my_datasetB.my_view` as viewA
on cast(viewA.cd as string)  = tableA.cd;

结果: