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

Databricks

您可以使用 Databricks 作为数据平台来登陆 Qlik Cloud 数据集成 和在其中存储数据集。

  • 启用 SSL 必须启用。

  • 支持的版本和部署:

    • Databricks 仅限 10.4
    • SQL Warehouse 群集

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

您还需要一个云暂存区,在应用和存储之前,数据和更改都在那里暂存。您可以使用以下存储平台:

一般权限

  • 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

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

    opt/qlik/gateway/movement/drivers/bin

  2. 然后运行以下命令:

    语法:

    ./install databricks

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

    否则,将显示 driver 的 EULA。

  3. 执行以下选项之一:

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

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

  5. 将会安装 driver

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

下载并更新 driver

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

    opt/qlik/gateway/movement/drivers/bin

  2. 然后运行以下命令:

    语法:

    ./update databricks

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

    否则,将显示 driver 的 EULA。

  3. 执行以下选项之一:

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

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

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

卸载 driver

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

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

    opt/qlik/gateway/movement/drivers/bin

  3. 然后运行以下命令:

    语法:

    ./uninstall databricks

    将卸载 driver

手动安装驱动程序

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

下载 Simba Spark ODBC Driver 2.6.22。

  1. 停止 Data Movement gateway 服务:

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

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

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

  4. Data Movement gateway 计算机上安装驱动程序。

  5. 安装后,确保以下部分出现在 /etc/odbcinst.ini 文件中:

  6.  [Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
  7. 启动 Data Movement gateway 服务:

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

    sudo service repagent status

    输出应如下:

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

端口

需要为出站通信打开防火墙端口 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。

本页面有帮助吗?

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