将查询结果导出到 Blob Storage

本文档介绍如何将针对 BigLake 表运行的查询结果导出到 Azure Blob Storage。

如需了解 BigQuery 和 Azure Blob Storage 之间数据流动的方式,请参阅导出数据时的数据流

限制

如需查看适用于基于 Amazon S3 和 Blob Storage 的 BigLake 表的完整限制列表,请参阅限制

准备工作

确保您拥有以下资源:

导出查询结果

不管现有的任何内容如何,BigQuery Omni 都会将数据写入指定的 Blob Storage 位置。导出查询可能会覆盖现有数据,也可能会将查询结果与现有数据混合在一起。我们建议您将查询结果导出到空 Blob Storage 容器。

  1. 在 Google Cloud 控制台中,转到 BigQuery 页面。

    转到 BigQuery

  2. 查询编辑器字段中,输入 GoogleSQL 导出查询:

    EXPORT DATA WITH CONNECTION \`CONNECTION_REGION.CONNECTION_NAME\`
    OPTIONS(
      uri="azure://AZURE_STORAGE_ACCOUNT_NAME.blob.core.windows.net/CONTAINER_NAME/FILE_PATH/*",
      format="FORMAT"
    )
    AS QUERY

    请替换以下内容:

    • CONNECTION_REGION:在其中创建连接的区域。
    • CONNECTION_NAME:您使用写入容器所需的权限创建的连接名称。
    • AZURE_STORAGE_ACCOUNT_NAME:要向其中写入查询结果的 Blob Storage 账号的名称。
    • CONTAINER_NAME:要向其中写入查询结果的容器的名称。
    • FILE_PATH:您要将导出的文件写入其中的路径。它只能在路径字符串的叶目录中的任何位置包含一个通配符 *,例如 ../aa/*../aa/b*c../aa/*bc../aa/bc*。BigQuery 会将 * 替换为 0000..N,具体取决于导出的文件数。BigQuery 会确定文件计数和大小。如果 BigQuery 决定导出两个文件,则第一个文件名中的 * 会被替换为 000000000000,第二个文件名中的 * 会被替换为 000000000001
    • FORMAT:支持的格式为 JSONAVROCSVPARQUET
    • QUERY:用于分析存储在 BigLake 表中的数据的查询。

问题排查

如果您收到与 quota failure 相关的错误,请检查您是否为查询预留了容量。如需详细了解槽预留,请参阅本文档中的准备工作部分。

后续步骤