1)是否可以通过bq命令行在更新和合并语句下运行?
2)如果我将此查询保存在文件(update.sql或merge.sql)中,我可以将此文件作为输入传递给bq命令并执行。
如果我们可以执行上述任何操作,那么我可以通过Informatica作业中的脚本来调用它,并将其作为ETL作业的一部分以进行后期加载处理。
感谢您的帮助。 问候, Sreekanth
在cloud-dw-poc.PREPARED_LAYER.DW_ORDER_LINE_I
的SRC中,更新cloud-dw-poc.PREPARED_LAYER.ORDER_LINE_BILLABLE_FLG_VW
的TGT设置TGT.BILLABLE_FLAG = SRC.BILLABLE_FLAG TGT.INTEGRATION_ID = SRC.ORDER_LINE_ID
合并cloud-dw-poc.PREPARED_LAYER.DW_ORDER_LINE_I
时使用cloud-dw-poc.PREPARED_LAYER.ORDER_LINE_BILLABLE_FLG_VW
SRC启用TGT(TGT.INTEGRATION_ID = SRC.ORDER_LINE_ID),然后进行更新设置TGT.BILLABLE_FLAG = SRC.BILLABLE_FLAG
答案 0 :(得分:1)
您可以通过命令行使用bq query
通过以下方式运行DDL查询:
bq query --use_legacy_sql=false 'MERGE cloud-dw-poc.PREPARED_LAYER.DW_ORDER_LINE_I TGT USING cloud-dw-poc.PREPARED_LAYER.ORDER_LINE_BILLABLE_FLG_VW SRC ON (TGT.INTEGRATION_ID=SRC.ORDER_LINE_ID) WHEN MATCHED THEN UPDATE SET TGT.BILLABLE_FLAG=SRC.BILLABLE_FLAG'
如果您希望将查询作为文件传递,则可以执行以下操作:
cat merge.sql | bq query --use_legacy_sql=false