Google Sheets 连接器

Google Sheets 连接器允许将Google Sheets电子表格作为表格读取到 Presto 中。

配置

创建 etc/catalog/gsheets.properties 以将 Google Sheets 连接器作为 gsheets 目录挂载,并根据需要替换属性。

connector.name=gsheets
credentials-path=/path/to/google-sheets-credentials.json
metadata-sheet-id=exampleId

配置属性

以下配置属性可用

属性名称

描述

credentials-path

Google API JSON 密钥文件路径

metadata-sheet-id

包含表格映射的电子表格的表格 ID

sheets-data-max-cache-size

要缓存的最大电子表格数量,默认为 1000

sheets-data-expire-after-write

缓存电子表格数据或元数据的持续时间,默认为 5m

凭据

连接器需要凭据才能访问 Google Sheets API。

  1. 打开Google Sheets API 页面,然后单击启用按钮。这会将您带到 API 管理器页面。

  2. 使用页面顶部的下拉菜单选择一个项目。如果您还没有项目,请创建一个新项目。

  3. 在左侧面板中选择凭据

  4. 单击管理服务帐户,然后为连接器创建一个服务帐户。在创建密钥步骤中,以 JSON 格式创建并下载密钥。

密钥文件需要在 Presto 协调器和工作节点上可用。设置 credentials-path 配置属性以指向此文件。文件的准确名称无关紧要 - 它可以命名为任何名称。

元数据表格

元数据表格用于将表格名称映射到表格 ID。创建一个新的元数据表格。第一行必须是包含以下列的标题行,按此顺序排列:

  • 表格名称

  • 表格 ID

  • 所有者

  • 备注

请参阅此示例表格作为参考。

必须与服务帐户用户共享元数据表格,即为其创建了密钥凭据文件的用户。单击共享按钮,将表格与服务帐户的电子邮件地址共享。

metadata-sheet-id 配置属性设置为此表格的 ID。

查询表格

服务帐户用户必须有权访问表格,Presto 才能查询它。单击共享按钮,将表格与服务帐户的电子邮件地址共享。

表格需要映射到 Presto 表格名称。在元数据表格中指定一个表格名称(A 列)和表格 ID(B 列)。要引用表格中的特定选项卡,请在表格 ID 后添加选项卡名称,并使用 # 分隔。如果未提供选项卡名称,则连接器默认情况下仅从表格中的第一个选项卡加载 10,000 行。

API 使用限制

Google Sheets API 具有使用限制,这可能会影响此连接器的使用。增加缓存持续时间和/或大小可能会防止达到限制。在 information_schema.columns 表格上运行查询,但没有模式和表格名称筛选器,可能会导致达到限制,因为这需要为每个表格获取表格数据,除非它已在缓存中。

SQL 支持

连接器提供全局可用和读取操作语句,用于访问 Google Sheets 中的数据和元数据。