Databricks
您可以使用 Databricks 作为数据平台来登陆 Qlik Cloud 数据集成 和在其中存储数据集。
-
启用 SSL 必须启用。
-
支持的版本和部署:
- Databricks 仅限 10.4
-
SQL Warehouse 群集
有关连接到 Databricks 的更多信息,请参阅创建 Databricks 连接 (仅提供英文版本)。
您还需要一个云暂存区,在应用和存储之前,数据和更改都在那里暂存。您可以使用以下存储平台:
-
Amazon S3 (仅提供英文版本)
-
Azure Data Lake Storage
-
Google Cloud Storage (仅提供英文版本)
一般权限
- Data Movement gateway 服务器计算机上的时间必须准确。
- Databricks 表权限:Data Movement gateway 需要对 Databrick 表执行以下操作的权限:CREATE、DROP、TRUNCATE、DESCRIBE 和 ALTER 表。
- 在 ADLS Gen2 文件系统的访问控制 (IAM) 设置中,将“存储 Blob 数据贡献者”角色分配给 Data Movement gateway(AD 应用程序 ID)。角色可能需要几分钟才能生效。
- 为了 Data Movement gateway 通过 ODBC 连接到 Databricks 群集,用户必须在其 Databrick 帐户中被授予“可以连接到”权限。
- 访问 Databricks 需要有效的安全令牌。在端点设置中配置 Databricks ODBC 访问字段时,应指定令牌。
-
使用 Microsoft Azure Data Lake Storage (ADLS) Gen2 配置新群集时,必须将以下行添加到“Spark Config”部分。
spark.hadoop.hive.server2.enable.doAs false
-
为了能够从 Databricks 集群访问存储目录,用户需要为该存储帐户及其密钥添加一个配置(在 Spark Config 中)。
示例:
fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>
有关详细信息,请参阅 Databricks 联机帮助:https://docs.databricks.com/clusters/configure.html#spark-configuration
-
最佳做法是不要使用 Databricks 数据库的根位置 (/Usr/Hive/Warehouse/),因为这样做可能会影响性能。
存储访问
必须配置 Databricks SQL 计算以访问云存储。有关说明,请参阅供应商的在线帮助。
连接到作为云暂存区域的 Azure Data Lake Storage
在 Qlik Cloud 数据集成 中使用 Databricks 作为数据平台时,可以将 Azure Data Lake Storage Gen2 用作云暂存区域。云暂存区是数据和更改在应用和存储之前暂存的地方。
创建数据项目时,您需要连接到 Azure Data Lake Storage 云暂存区域。需要以下设置:
-
存储帐户
存储帐户的名称。
-
容器名称
要用作云暂存区域的容器的名称。
-
Azure Active Directory 租户 ID
Azure Active Directory 中订阅的租户 ID。
-
Azure 应用程序注册客户端 ID
Azure Active Directory 中应用程序的客户端 ID。
-
Azure 应用程序注册密码
Azure Active Directory 中应用程序的密码
-
访问密钥
存储帐户的访问密钥。
您还可以选择自动创建 SQL Server 凭据。
Qlik 数据网关 - 数据移动 先决条件
您需要在数据移动网关计算机上满足以下先决条件。
驱动程序设置
您可以使用驱动程序安装实用程序(推荐)安装 driver 或手动安装。只有在您遇到驱动程序安装实用程序发生问题的少见情况下,才应尝试手动安装。
使用驱动程序安装实用程序安装驱动程序
本部分介绍如何安装所需的 driver。这个过程包括运行一个脚本,该脚本将自动下载、安装和配置所需的 driver。您还可以根据需要运行脚本来更新和卸载 driver。
准备安装
-
请确保在 数据移动 网关服务器上安装了 Python 3.6 或更高版本。
Python 预装在大多数 Linux 发行版上。您可以通过运行以下命令来检查系统上安装了哪个 Python 版本。
python --version
安装 driver
下载并安装 driver :
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./install databricks
如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 install databricks 命令。
否则,将显示 driver 的 EULA。
-
执行以下选项之一:
- 重复按 [Enter] 可在 EULA 中缓慢滚动。
- 重复按空格键可快速滚动 EULA。
- 按 q 退出许可证文本并显示 EULA 接受选项。
-
执行以下操作之一:
- 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
- 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
-
键入“v”并按 [Enter] 以再次查看 EULA。
将会安装 driver。
更新 driver
如果要在安装提供的 driver 之前卸载以前版本的 driver,请运行 update 命令。
下载并更新 driver:
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./update databricks
如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 install databricks 命令。
否则,将显示 driver 的 EULA。
-
执行以下选项之一:
- 重复按 [Enter] 可在 EULA 中缓慢滚动。
- 重复按空格键可快速滚动 EULA。
- 按 q 退出许可证文本并显示 EULA 接受选项。
-
执行以下操作之一:
- 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
- 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
- 键入“v”并按 [Enter] 可从头开始查看 EULA。
将卸载旧的 driver,并安装新的 driver。
卸载 driver
如果要卸载 driver,请运行 uninstall 命令。
卸载 driver:
-
如果 数据移动 网关用于登陆数据,请停止所有登陆陆任务。如果使用不同的 数据移动 网关对目标执行 ELT 过程,请停止所有相关任务(数据注册、存储、转换和数据集市)。如果单个 数据移动 网关用于登陆数据并在目标上执行 ELT 任务,则停止所有上述任务。
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./uninstall databricks
将卸载 driver。
手动安装驱动程序
只有在自动驱动程序安装未成功完成的情况下,才应尝试手动安装 driver。
下载 Simba Spark ODBC Driver 2.6.22。
-
停止 Data Movement gateway 服务:
sudo service repagent stop
-
可选择确认服务已停止:
sudo service repagent status
-
在 Data Movement gateway 计算机上安装驱动程序。
-
安装后,确保以下部分出现在 /etc/odbcinst.ini 文件中:
-
启动 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
[Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
端口
需要为出站通信打开防火墙端口 443。
数据类型
下表显示了使用 Qlik Cloud 时支持的 Databricks 数据类型以及自 Qlik Cloud 数据类型的默认映射。
Qlik Cloud 数据类型 | Databricks 数据类型 |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
STRING |
DATE |
DATE |
TIME |
STRING |
DATETIME |
TIMESTAMP |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
DECIMAL(精确度、刻度) |
REAL4 |
FLOAT |
REAL8 |
DOUBLE |
UINT1 |
SMALLINT |
UINT2 |
INT |
UINT4 |
BIGINT |
UINT8 |
DECIMAL (20, 0) |
STRING |
VARCHAR(以字节计算的长度) |
WSTRING |
VARCHAR(以字节计算的长度) |
BLOB |
STRING |
NCLOB |
STRING |
CLOB |
STRING |
限制
-
当对没有主键的表使用 Databricks on AWS 时,在登陆中重新加载表将在 Storage 应用程序中失败。要解决此问题,您可以
-
在表中定义主键。
-
在 Databricks 中将 spark.databricks.delta.alterTable.rename.enabledOnAWS 设置为 True。
-