[英]How to dynamically copy multiple datasets from a Google BigQuery project using Azure Synapse Analytics
是否可以将所有数据集从 BigQuery 项目动态复制到 Azure Synapse Analytics,然后动态复制每个数据集中的所有表? 我知道我们可以动态复制 BigQuery 数据集引用中的所有表到这个已回答的问题Loop over of table names ADFv2 ,但是有没有办法在项目级别使用查找活动来循环遍历所有数据集? 有没有办法对数据集执行SELECT *
?
SELECT
*
FROM
gcp_project_name.dataset_name.INFORMATION_SCHEMA.TABLES
WHERE table_type = 'BASE TABLE'
根据 Microsoft 在 Azure Data Factory 和 Azure Synapse Analytics 中的 Lookup 活动,这仅达到数据集级别。 我还尝试将 GCP 的项目名称放入 Lookup 活动的查询中,但它没有用,参考理解“未找到:数据集 ### 未在美国位置找到”错误
这可以使用两级流水线来完成。 我试图重现这一点,下面是方法。
进行查找活动并将 Google 大查询作为源数据集。 在查询文本框中,输入以下查询。
SELECT schema_name
FROM `project_name`.INFORMATION_SCHEMA.SCHEMATA
此查询将列出项目中的数据集。
@activity('Lookup1').output.value
作为动态内容。 SELECT
*
FROM
gcp_project_name.dataset_name.@{item().schema_name}.TABLES
WHERE table_type = 'BASE TABLE'
这将给出每个数据集中所有表的列表。
由于您不能在 ADF 中将 for-each 嵌套在 for-each 中,因此您可以设计一个两级管道,其中具有外部 ForEach 循环的外部管道在具有嵌套循环的内部管道上进行迭代。
请参考 NiharikaMoola-MT 在此SO 线程上针对 ADF 中的嵌套 foreach 的回答。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.