跳到主要内容 跳到补充内容

Google BigQuery

您可以使用 Google BigQuery 作为数据平台来登陆和存储数据集。

Qlik Cloud 数据集成 中创建数据连接时会设置以下连接属性,并且无法更改:

  • OAuth Mechanism 设置为 Service Authentication

  • Allow non-Select queries 已启用。
  • Enable Bulk Reader 已禁用。

有关连接到 Google BigQuery 的更多信息,请参阅创建 Google BigQuery 连接 (仅提供英文版本)

您还需要一个 Google Cloud Storage 云暂存区,在应用和存储之前,数据和更改都在那里暂存。有关更多信息,请参阅 Google Cloud Storage (仅提供英文版本)

登陆数据所需的权限

创建服务帐户密钥时,包含连接信息的 JSON 文件将下载到您的计算机。如果选择服务身份验证作为 OAuth 机制,则需要浏览下载的 JSON 文件。

如果希望自动创建数据集,则需要以下权限:

BigQuery > BigQuery 作业用户

BigQuery > BigQuery 数据编辑者

如果数据集已经存在,则需要执行以下步骤:

  1. 创建具有以下权限的服务帐户:

    BigQuery > BigQuery 作业用户

  2. 导航到要使用的数据集,然后:

    1. 添加您刚刚创建的服务帐户作为主体。

    2. 分配 BigQuery 数据编辑者角色。

位置

默认情况下,Google Cloud BigQuery 数据连接配置为美国位置。如果要使用其他位置,需要在数据连接属性中设置。

  1. 编辑数据连接。

  2. 高级下添加名为 location 的属性。

  3. 将属性的值设置为要使用的位置。

  4. 单击保存

Qlik 数据网关 - 数据移动 先决条件

您需要在数据移动网关计算机上满足以下先决条件。

驱动程序设置

您可以使用驱动程序安装实用程序(推荐)安装 driver 或手动安装。只有在您遇到驱动程序安装实用程序发生问题的少见情况下,才应尝试手动安装。

使用驱动程序安装实用程序安装驱动程序

本部分介绍如何安装所需的 driver。这个过程包括运行一个脚本,该脚本将自动下载、安装和配置所需的 driver。您还可以根据需要运行脚本来更新和卸载 driver

  • 请确保在 数据移动 网关服务器上安装了 Python 3.6 或更高版本。

    Python 预装在大多数 Linux 发行版上。您可以通过运行以下命令来检查系统上安装了哪个 Python 版本。

    python --version

下载并安装 driver

  1. 停止 Data Movement gateway 服务:

    sudo service repagent stop
  2. 可选择确认服务已停止:

    sudo service repagent status

    输出应如下:

    not running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host

  3. 数据移动 网关计算机上,将工作目录更改为:

    opt/qlik/gateway/movement/drivers/bin

  4. 然后运行以下命令:

    语法:

    ./install gbq

    如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 install gbq 命令。

    否则,将显示 driver 的 EULA。

  5. 执行以下选项之一:

    • 重复按 [Enter] 可在 EULA 中缓慢滚动。
    • 重复按空格键可快速滚动 EULA。
    • 按 q 退出许可证文本并显示 EULA 接受选项。
  6. 执行以下操作之一:

    • 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
    • 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
    • 键入“v”并按 [Enter] 以再次查看 EULA。

  7. 将会安装 driver

  8. 等待安装完成(以“完成!”指示),然后启动 Data Movement gateway 服务:

    sudo service repagent start
  9. 可选择确认服务已启动:

    sudo service repagent status

    输出应如下:

    running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host

如果要在安装提供的 driver 之前卸载以前版本的 driver,请运行 update 命令。

下载并更新 driver

  1. 停止 Data Movement gateway 服务:

    sudo service repagent stop
  2. 可选择确认服务已停止:

    sudo service repagent status

    输出应如下:

    not running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host

  3. 数据移动 网关计算机上,将工作目录更改为:

    opt/qlik/gateway/movement/drivers/bin

  4. 然后运行以下命令:

    语法:

    ./update gbq

    如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 install gbq 命令。

    否则,将显示 driver 的 EULA。

  5. 执行以下选项之一:

    • 重复按 [Enter] 可在 EULA 中缓慢滚动。
    • 重复按空格键可快速滚动 EULA。
    • 按 q 退出许可证文本并显示 EULA 接受选项。
  6. 执行以下操作之一:

    • 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
    • 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
    • 键入“v”并按 [Enter] 可从头开始查看 EULA。
  7. 将卸载旧的 driver,并安装新的 driver

  8. 等待安装完成(以“完成!”指示),然后启动 Data Movement gateway 服务:

    sudo service repagent start
  9. 可选择确认服务已启动:

    sudo service repagent status

    输出应如下:

    running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host

如果要卸载 driver,请运行 uninstall 命令。

卸载 driver

  1. 如果 数据移动 网关用于登陆数据,请停止所有登陆陆任务。如果使用不同的 数据移动 网关对目标执行 ELT 过程,请停止所有相关任务(数据注册、存储、转换和数据集市)。如果单个 数据移动 网关用于登陆数据并在目标上执行 ELT 任务,则停止所有上述任务。

  2. 数据移动 网关计算机上,将工作目录更改为:

    opt/qlik/gateway/movement/drivers/bin

  3. 然后运行以下命令:

    语法:

    ./uninstall gbq

    将卸载 driver

手动安装驱动程序

只有在自动驱动程序安装未成功完成的情况下,才应尝试手动安装 driver

  1. Simba ODBC 驱动程序版本 2.3.3.1005 下载到 Data Movement gateway 计算机。

  2. 停止 Data Movement gateway 服务:

    sudo service repagent stop
  3. 可选择确认服务已停止:

    sudo service repagent status
  4. 输出应如下:

    not running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host

  5. 提取:

    SimbaODBCDriverforGoogleBigQuery64_2.3.3.1005.tar.gz

    更改为:

    /opt/SimbaODBCDriverforGoogleBigQuery_2.3.3.1005-Linux

  6. 移动文件 GoogleBigQueryODBC.didsimba.googlebigqueryodbc.ini 至 Simba ODBC 驱动程序目录下的 lib 目录中。

    示例:

    从以下位置移动文件:

    /opt/SimbaODBCDriverforGoogleBigQuery_2.3.3.1005-Linux/setup

    更改为:

    /opt/SimbaODBCDriverforGoogleBigQuery_2.3.3.1005-Linux/SimbaODBCDriverforGoogleBigQuery64_2.3.3.1005/lib

  7. 如下编辑 simba.googlebigqueryodbc.ini 文件:

    1. ErrorMessagesPath 更改为包含 ODBC 消息的 XML 文件的路径。默认位置为:

      ErrorMessagesPath=/opt/SimbaODBCDriverforGoogleBigQuery_2.3.3.1005-Linux/SimbaODBCDriverforGoogleBigQuery64_2.3.3.1005/ErrorMessages

    2. DriverManagerEncoding 更改为 UTF-16
  8. 将以下路径添加到 Data Movement gateway bin 目录中的 site_arep_login.sh 文件:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/SimbaODBCDriverforGoogleBigQuery_2.3.3.1005-Linux/SimbaODBCDriverforGoogleBigQuery64_2.3.3.1005/lib

  9. 编辑 /etc/odbcinst.ini 文件并添加驱动程序路径(即安装驱动程序的路径):

    [ODBC Drivers]

    Simba= Installed

    Simba ODBC Driver for Google BigQuery = Installed

    [Simba ODBC Driver for Google BigQuery]

    Description=Simba ODBC Driver for Google BigQuery(64-bit)

    Driver=/opt/SimbaODBCDriverforGoogleBigQuery_2.3.3.1005-Linux/SimbaODBCDriverforGoogleBigQuery64_2.3.3.1005/lib/libgooglebigqueryodbc_sb64.so

  10. Data Movement gateway 机器上下载并安装 Google Cloud SDK 402.0.0 for Linux

  11. 启动 Data Movement gateway 服务:

    sudo service repagent start
  12. 可选择确认服务已启动:

    sudo service repagent status

    输出应如下:

    running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host

端口

需要为出站通信打开防火墙端口 443。

数据类型

将使用默认值设置参数化数据类型长度:

  • 字符串:8192(长度)

  • 字节:8192(长度)

  • NUMERIC:精确度:38,刻度:9

  • BIGDECIMAL:精确度:76,刻度:38

下表显示了使用 Qlik Cloud 时支持的 Google BigQuery 数据类型以及自 Qlik Cloud 数据类型的默认映射。

支持的数据类型
Qlik Cloud 数据类型 Google BigQuery 数据类型

BOOLEAN

BOOL

BYTES

BYTES(以字节计算的长度)

DATE

DATE

TIME

TIME

DATETIME

TIMESTAMP

INT1

TINYINT

INT2 SMALLINT

INT4

INTEGER

INT8 BIGINT

NUMERIC

NUMERIC(精确度、刻度)

REAL4

FLOAT64

REAL8

FLOAT64

UINT1

TINYINT

UINT2

SMALLINT

UINT4

INTEGER

UINT8

BIGINT

STRING

STRING(以字节计算的长度)

WSTRING

STRING(以字节计算的长度)

BLOB

BYTES

NCLOB

STRING

CLOB

STRING

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!