从 ArcGIS 连接到 Google BigQuery

要连接到 Google BigQuery,您必须安装和配置客户端文件以实现 ArcGIS 与 BigQuery 之间的通信,并从 ArcGIS Pro 创建数据库连接文件。 要发布 web 图层,必须将数据库连接文件注册到 ArcGIS Enterprise 门户的托管服务器站点。 为了实现最佳性能,请将 ArcGIS 客户端部署在 Google Cloud 中。

通常,IT 专业人员会安装连接数据仓库所需的 ArcGIS 软件和驱动程序。 他们还会配置允许在 ArcGIS 和云数据仓库之间进行通信所需的网络、防火墙和其他通信通道。

接下来,云数据仓库管理员会创建帐户并授予这些帐户访问云数据仓库中特定表的权限。 管理员可以创建从 ArcGIS Pro 到云数据仓库的连接,并与发布者共享连接文件,或者管理员可以为发布者提供必需的凭据,以允许他们自行创建连接文件。

要发布引用云数据仓库中的数据的 ArcGIS Server web 服务,发布者必需将数据库连接文件注册到充当 ArcGIS Enterprise 门户托管服务器的 ArcGIS GIS Server 站点。

安装和配置驱动程序

要从 ArcGIS Pro 连接到 BigQuery,您必须在 ArcGIS Pro 计算机上安装最新的 Magnitude Simba 开放式数据库连通性 (ODBC) 驱动程序。 要发布包含 BigQuery 中数据的地图影像图层或要素图层,您必须在 ArcGIS Enterprise 门户的托管服务器站点中安装驱动程序并配置计算机以连接到 BigQuery

有关详细信息以及用于下载和安装 64 位 ODBC 驱动程序的链接,请参阅 Google BigQuery 文档

Microsoft Windows 计算机

在每台 ArcGIS Pro 计算机上以及使用 Windows 操作系统的托管服务器中的每台计算机上安装 Magnitude Simba ODBC 驱动程序。

确认 Windows PATH 系统环境变量中存在 Magnitude Simba ODBC 驱动程序的路径。 如果不存在,则添加该路径。

Linux 计算机

如果门户的托管服务器在 Linux 计算机上运行,则必须在 GIS Server 站点中的每台计算机上安装 Magnitude Simba ODBC 驱动程序。

当您编辑 Magnitude Simba /etc/odbcinst.ini 文件以引用 Simba ODBC 驱动程序的位置时,必须将章节标题更改为 Simba ODBC Driver for Google BigQuery。 文本必须与之完全一致。 例如,如果该标题为 Simba ODBC Driver for Google BigQuery 64bit 或其他任何内容,ArcGIS 连接将失败。

在配置 /etc/odbcinst.ini 文件后,请配置 ArcGIS Server init_user_param.sh 文件以访问驱动程序。

更改 init_user_param.sh 脚本

将随 ArcGIS Server 一起安装的 init_user_param.sh 脚本更改为引用驱动程序。 可通过浏览至 <ArcGIS Server installation directory>/arcgis/server/usr 目录访问该脚本。

  1. 请确保 ArcGIS Server 每台计算机的安装程序所有者至少具有在数据仓库客户端库中读取和执行的权限。
  2. 在文本编辑器中打开 init_user_param.sh 脚本。
  3. 移除以 export 为开头的行中的注释标记 (#),并将驱动程序位置替换为您计算机上的路径。

    # -----------------------------------------------------------------------
    # Modify this section to configure an ODBC connection to Google BigQuery Data 
    # Warehouse.
    #
    # To make a connection, copy GoogleBigQueryODBC.did to the lib folder under the 
    # extracted directory for Google BigQuery ODBC driver. Edit 
    # simba.googlebigqueryodbc.ini and set DriverManagerEncoding=UTF-16. Configure and 
    # store the odbcinst.ini in the /etc folder. 
    #
    # -----------------------------------------------------------------------
    export LIB_ODBC_DRIVER_MANAGER=<Location_to_ODBC_driver_manager_libraries>/libodbc.so.2
    export SIMBAGOOGLEBIGQUERYODBCINI=<Location_to_simba.googlebigqueryodbc.ini>/simba.googlebigqueryodbc.ini

  4. 保存并关闭脚本。
  5. 要使在 init_user_param.sh 文件中进行的更改生效,必须重新启动 ArcGIS Server

    为此,先后在 ArcGIS Server 站点的每台计算机上运行 stopserver.sh 脚本和 startserver.sh 脚本。

    ./stopserver.sh

    ./startserver.sh

创建数据库连接文件

ArcGIS Pro 中,使用新建数据库连接对话框来创建与 BigQuery 的连接。

  1. 打开 ArcGIS Pro 中的目录窗格。
  2. 右键单击数据库,然后单击新建数据库连接
  3. 数据库平台下拉列表中选择 BigQuery
  4. 身份验证类型下拉列表中,选择要创建的连接类型:
    • 用户身份验证 - 使用刷新令牌进行身份验证。
    • 服务身份验证 - 使用服务帐户密钥文件进行身份验证。

    请参阅有关身份验证的 Google BigQuery 文档以帮助您决定使用哪个类型。

  5. 如果您选择用户身份验证,请提供刷新令牌。
  6. 如果您选择服务身份验证,请浏览到包含连接到 BigQuery 所需凭据的密钥文件的位置,选择该文件,然后单击打开
  7. 键入或选择工程 ID,然后选择您要进行连接时的用户身份相关联的默认数据集。

    注:

    请勿使用任何 BigQuery 公共数据工程作为默认工程进行连接。 您无法启用要素分箱,也无法直接在公共数据工程的数据集中的任何表上创建物化视图。

    如果您打算使用此连接文件创建物化视图,请确保为连接分配默认数据集,可以在其中创建数据库对象。

  8. 除了先前步骤中所需的参数之外,如果您还需要连接参数,请在高级选项字段中提供其他参数。

    可以使用分号 (;) 分隔选项。 有关高级连接参数的信息,请参阅 Google BigQuery 文档。

    例如,要将 ODBC 连接器配置为重试失败的 API 调用 200 秒并使用存储在共享驱动器 \\certificates 上来自证书颁发机构 (CA) 的证书,请在高级选项字段中键入 Timeout=200;TrustedCerts=\\certificates

  9. 单击确定创建连接文件。

可通过在目录窗格中输入新名称并按 Enter 键对文件进行重命名。

确保用于连接的帐户具有访问数据仓库中内容的正确权限

注册到托管服务器

要允许 ArcGIS Server 站点访问数据,使用您创建的数据库连接文件在 ArcGIS Pro添加注册的数据存储在门户中添加数据存储项目

接下来的步骤

在将 ArcGIS 客户端配置为连接和创建数据库连接文件后,您和其他组织成员可以执行以下操作: