使用 Azure 数据工厂从 Impala 复制数据

适用于: Azure 数据工厂

本文概述了如何使用 Azure 数据工厂中的复制活动从 Impala 复制数据。 本文基于总体概述复制活动的复制活动概述一文。

支持的功能

以下活动支持此 Impala 连接器:

可以将数据从 Impala 复制到任何支持的接收器数据存储。 有关复制活动支持作为源或接收器的数据存储列表,请参阅支持的数据存储表。

服务提供内置驱动程序以用于启用连接。 因此,无需要手动安装驱动程序即可使用此连接器。

先决条件

如果数据存储位于本地网络、Azure 虚拟网络或 Amazon Virtual Private Cloud 内部,则需要配置自承载集成运行时才能连接到该数据存储。

如果数据存储是托管的云数据服务,则可以使用 Azure Integration Runtime。 如果访问仅限于防火墙规则中批准的 IP,则可以将 Azure Integration Runtime IP 添加到允许列表。

还可以使用 Azure 数据工厂中的托管虚拟网络集成运行时功能访问本地网络,而无需安装和配置自承载集成运行时。

要详细了解网络安全机制和数据工厂支持的选项,请参阅数据访问策略

入门

若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:

使用 UI 创建一个到 Impala 的链接服务

使用以下步骤在 Azure 门户 UI 中创建一个到 Impala 的链接服务。

  1. 浏览到 Azure 数据工厂中的“管理”选项卡并选择“链接服务”,然后单击“新建”:

    屏幕截图,显示如何使用 Azure 数据工厂 UI 创建新的链接服务。

  2. 搜索 Impala 并选择 Impala 连接器。

    Impala 连接器的屏幕截图。

  3. 配置服务详细信息,测试连接,然后创建新的链接服务。

    Impala 的链接服务配置的屏幕截图。

连接器配置详细信息

对于特定于 Impala 连接器的数据工厂实体,以下部分提供有关用于定义这些实体的属性的详细信息。

链接服务属性

Impala 链接服务支持以下属性。

属性 说明 必需
type type 属性必须设置为:Impala
host Impala 服务器的 IP 地址或主机名(即,192.168.222.160)。
port Impala 服务器用来侦听客户端连接的 TCP 端口。 默认值为 21050。
authenticationType 可使用的身份验证类型。
允许的值为:AnonymousSASLUsernameUsernameAndPassword
username 用于访问 Impala 服务器的用户名。 使用 SASLUsername 时,默认值是匿名的。
password 使用 UsernameAndPassword 时用户名所对应的密码。 将此字段标记为 SecureString 以安全地存储它,或引用 Azure Key Vault 中存储的机密
enableSsl 指定是否使用 TLS 加密到服务器的连接。 默认值是 false
trustedCertPath 包含受信任 CA 证书(通过 TLS 进行连接时用来验证服务器)的 .pem 文件的完整路径。 仅当在自承载集成运行时上使用 TLS 时,才能设置此属性。 默认值是随集成运行时一起安装的 cacerts.pem 文件。
useSystemTrustStore 指定是使用系统信任存储中的 CA 证书还是使用指定 PEM 文件中的 CA 证书。 默认值是 false
allowHostNameCNMismatch 指定通过 TLS 进行连接时是否要求 CA 颁发的 TLS/SSL 证书名称与服务器的主机名相匹配。 默认值是 false
allowSelfSignedServerCert 指定是否允许来自服务器的自签名证书。 默认值是 false
connectVia 用于连接到数据存储的集成运行时。 从先决条件部分了解更多信息。 如果未指定,则使用默认 Azure Integration Runtime。

示例:

{
    "name": "ImpalaLinkedService",
    "properties": {
        "type": "Impala",
        "typeProperties": {
            "host" : "<host>",
            "port" : "<port>",
            "authenticationType" : "UsernameAndPassword",
            "username" : "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

数据集属性

有关可用于定义数据集的各部分和属性的完整列表,请参阅数据集一文。 本部分提供 Impala 数据集支持的属性列表。

要从 Impala 复制数据,请将数据集的 type 属性设置为“ImpalaObject” 。 支持以下属性:

属性 说明 必需
type 数据集的 type 属性必须设置为:ImpalaObject
schema 架构的名称。 否(如果指定了活动源中的“query”)
表的名称。 否(如果指定了活动源中的“query”)
tableName 具有架构的表的名称。 支持此属性是为了向后兼容。 对于新的工作负荷,请使用 schematable 否(如果指定了活动源中的“query”)

示例

{
    "name": "ImpalaDataset",
    "properties": {
        "type": "ImpalaObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Impala linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

复制活动属性

有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供 Impala 源类型支持的属性列表。

以 Impala 作为源类型

要从 Impala 复制数据,请将复制活动中的源类型设置为“ImpalaSource” 。 复制活动的 source 节支持以下属性。

属性 说明 必需
type 复制活动源的 type 属性必须设置为 ImpalaSource
query 使用自定义 SQL 查询读取数据。 例如 "SELECT * FROM MyTable" 否(如果指定了数据集中的“tableName”)

示例:

"activities":[
    {
        "name": "CopyFromImpala",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Impala input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ImpalaSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Lookup 活动属性

若要了解有关属性的详细信息,请查看 Lookup 活动

后续步骤

有关复制活动支持作为源和接收器的数据存储的列表,请参阅受支持的数据存储