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 数据编辑者
目标数据集已存在时所需的权限:
如果数据集已经存在,则需要执行以下步骤:
-
创建具有以下权限的服务帐户:
BigQuery > BigQuery 作业用户
-
导航到要使用的数据集,然后:
-
添加您刚刚创建的服务帐户作为主体。
-
分配 BigQuery 数据编辑者角色。
-
位置
默认情况下,Google Cloud BigQuery 数据连接配置为美国位置。如果要使用其他位置,需要在数据连接属性中设置。
-
编辑数据连接。
-
在高级下添加名为 location 的属性。
-
将属性的值设置为要使用的位置。
-
单击保存。
Qlik 数据网关 - 数据移动 先决条件
您需要在数据移动网关计算机上满足以下先决条件。
驱动程序设置
您可以使用驱动程序安装实用程序(推荐)安装 driver 或手动安装。只有在您遇到驱动程序安装实用程序发生问题的少见情况下,才应尝试手动安装。
使用驱动程序安装实用程序安装驱动程序
本部分介绍如何安装所需的 driver。这个过程包括运行一个脚本,该脚本将自动下载、安装和配置所需的 driver。您还可以根据需要运行脚本来更新和卸载 driver。
准备安装
-
请确保在 数据移动 网关服务器上安装了 Python 3.6 或更高版本。
Python 预装在大多数 Linux 发行版上。您可以通过运行以下命令来检查系统上安装了哪个 Python 版本。
python --version
安装 driver
下载并安装 driver :
-
停止 Data Movement gateway 服务:
sudo service repagent stop
-
可选择确认服务已停止:
sudo service repagent status
输出应如下:
not running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./install gbq
如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 install gbq 命令。
否则,将显示 driver 的 EULA。
-
执行以下选项之一:
- 重复按 [Enter] 可在 EULA 中缓慢滚动。
- 重复按空格键可快速滚动 EULA。
- 按 q 退出许可证文本并显示 EULA 接受选项。
-
执行以下操作之一:
- 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
- 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
-
键入“v”并按 [Enter] 以再次查看 EULA。
-
等待安装完成(以“完成!”指示),然后启动 Data Movement gateway 服务:
sudo service repagent start
-
可选择确认服务已启动:
sudo service repagent status
输出应如下:
running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host
将会安装 driver。
更新 driver
如果要在安装提供的 driver 之前卸载以前版本的 driver,请运行 update 命令。
下载并更新 driver:
-
停止 Data Movement gateway 服务:
sudo service repagent stop
-
可选择确认服务已停止:
sudo service repagent status
输出应如下:
not running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./update gbq
如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 install gbq 命令。
否则,将显示 driver 的 EULA。
-
执行以下选项之一:
- 重复按 [Enter] 可在 EULA 中缓慢滚动。
- 重复按空格键可快速滚动 EULA。
- 按 q 退出许可证文本并显示 EULA 接受选项。
-
执行以下操作之一:
- 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
- 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
- 键入“v”并按 [Enter] 可从头开始查看 EULA。
-
等待安装完成(以“完成!”指示),然后启动 Data Movement gateway 服务:
sudo service repagent start
-
可选择确认服务已启动:
sudo service repagent status
输出应如下:
running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host
将卸载旧的 driver,并安装新的 driver。
卸载 driver
如果要卸载 driver,请运行 uninstall 命令。
卸载 driver:
-
如果 数据移动 网关用于登陆数据,请停止所有登陆陆任务。如果使用不同的 数据移动 网关对目标执行 ELT 过程,请停止所有相关任务(数据注册、存储、转换和数据集市)。如果单个 数据移动 网关用于登陆数据并在目标上执行 ELT 任务,则停止所有上述任务。
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./uninstall gbq
将卸载 driver。
手动安装驱动程序
只有在自动驱动程序安装未成功完成的情况下,才应尝试手动安装 driver。
-
将 Simba ODBC 驱动程序版本 2.3.3.1005 下载到 Data Movement gateway 计算机。
-
停止 Data Movement gateway 服务:
sudo service repagent stop
-
可选择确认服务已停止:
sudo service repagent status
-
提取:
SimbaODBCDriverforGoogleBigQuery64_2.3.3.1005.tar.gz
更改为:
/opt/SimbaODBCDriverforGoogleBigQuery_2.3.3.1005-Linux
-
移动文件 GoogleBigQueryODBC.did 和 simba.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
-
如下编辑 simba.googlebigqueryodbc.ini 文件:
-
将
ErrorMessagesPath
更改为包含 ODBC 消息的 XML 文件的路径。默认位置为:ErrorMessagesPath=/opt/SimbaODBCDriverforGoogleBigQuery_2.3.3.1005-Linux/SimbaODBCDriverforGoogleBigQuery64_2.3.3.1005/ErrorMessages
- 将
DriverManagerEncoding
更改为UTF-16
:
-
-
将以下路径添加到 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
-
编辑 /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
-
在 Data Movement gateway 机器上下载并安装 Google Cloud SDK 402.0.0 for Linux。
-
启动 Data Movement gateway 服务:
sudo service repagent start
-
可选择确认服务已启动:
sudo service repagent status
输出应如下:
running: /opt/qlik/gateway/movement/bin/agentctl -d /opt/qlik/gateway/movement/data service host
输出应如下:
not 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 |