首页 > 解决方案 > BigQuery UI 中的 Cloud DataFlow SQL 无法读取 Cloud Storage 文件集:“找不到表:datacatalog.entry”

问题描述

我正在尝试使用 Google Big Query UI 中的 beta Cloud DataFlow SQL 创建数据流作业。我的数据源是云存储文件集(即通过数据目录定义的云存储中的一组文件)。遵循GCP 文档,我能够定义我的文件集,为其分配架构并在Big Query UI的资源选项卡中将其可视化。但后来我无法在查询编辑器中启动任何数据流作业,因为我在查询验证器中收到以下错误消息:找不到表:datacatalog.entry。location.entry_group.fileset_name ...

是否是某些 API 未授权的问题?谢谢你的帮助!

标签: google-cloud-platformgoogle-bigquerygoogle-cloud-storagegoogle-cloud-dataflow

解决方案


您可能在完整路径中使用了错误的位置。创建数据目录文件集时,请检查您提供的位置,即:使用sales regions文档中的示例:

gcloud data-catalog entries create us_state_salesregions \
--location=us-central1 \
--entry-group=dataflow_sql_dataset \
--type=FILESET \
--gcs-file-patterns=gs://us_state_salesregions_{my_project}/*.csv \
--schema-from-file=schema_file.json \
--description="US State Sales regions..."

在构建 DataFlow SQL 查询时:

SELECT tr.*, sr.sales_region
FROM pubsub.topic.`project-id`.transactions as tr
  INNER JOIN    
datacatalog.entry.`project-id`.`us-central1`.dataflow_sql_dataset.us_state_salesregions AS sr
  ON tr.state = sr.state_code

检查完整路径,它应该类似于上面的示例:

datacatalog.entry,然后是您的位置 - 在本示例中是us-central1,接下来是您的project-id,接下来是您的条目组 id - 在本示例中是dataflow_sql_dataset,接下来是您的条目 id - 在本示例中是 us_state_salesregions

让我知道这是否适合您。


推荐阅读