다음을 통해 공유

使用 Azure 数据工厂或 Synapse Analytics 从 HBase 复制数据

适用于:Azure 数据工厂 Azure Synapse Analytics

重要

此连接器位于 支持阶段的末尾。 建议通过安装驱动程序迁移到 ODBC 连接器

本文概述如何使用 Azure 数据工厂或 Synapse Analytics 管道中的复制活动从 HBase 复制数据。 它基于 复制活动概述 文章构建,本文概述了复制活动。

支持的功能

以下功能支持此 HBase 连接器:

支持的功能 IR
复制活动(源/-)
查找活动

(1) Azure 集成运行时 (2) 自承载集成运行时

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

该服务提供内置的驱动程序用于启用连接,因此使用此连接器无需手动安装任何驱动程序。

先决条件

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

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

有关数据工厂支持的网络安全机制和选项的详细信息,请参阅 数据访问策略

入门

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

使用 UI 创建到 HBase 的链接服务

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

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

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

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

    HBase 连接器的屏幕截图。

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

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

连接器配置详细信息

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

链接服务属性

HBase 链接服务支持以下属性:

属性 描述 必需
类型 type 属性必须设置为: HBase
主持人 HBase 服务器的 IP 地址或主机名。 (即 [clustername].azurehdinsight.cn192.168.222.160
移植 HBase 实例用来侦听客户端连接的 TCP 端口。 默认值为 9090。 如果连接到 Azure HDInsights,请指定端口 443。
httpPath 与 HBase 服务器对应的部分 URL,例如使用 HDInsights 群集时的 /hbaserest0
验证类型 用于连接到 HBase 服务器的身份验证机制。
允许的值为: AnonymousBasic
用户名 用于连接到 HBase 实例的用户名。
密码 用户名所对应的密码。 将此字段标记为 SecureString 以安全存储,或 引用存储在 Azure Key Vault 中的机密
启用SSL 指定是否使用 TLS 加密到服务器的连接。 默认值为 false。
信任证书路径 (trustedCertPath) 包含受信任 CA 证书(通过 TLS 进行连接时用来验证服务器)的 .pem 文件的完整路径。 只有在自承载 IR 上使用 TLS 时才能设置此属性。 默认值是随 IR 一起安装的 cacerts.pem 文件。
allowHostNameCNMismatch 指定通过 TLS 进行连接时是否要求 CA 颁发的 TLS/SSL 证书名称与服务器的主机名相匹配。 默认值为 false。
allowSelfSignedServerCert 指定是否允许来自服务器的自签名证书。 默认值为 false。
connectVia Integration Runtime 用于连接到数据存储。 从 “先决条件 ”部分了解详细信息。 只能使用 Azure Integration Runtime。

注意

如果群集不支持 HDInsight 等粘性会话,请在 http 路径设置的末尾显式添加节点索引,例如,指定 /hbaserest0 而不是 /hbaserest

HDInsights HBase 的示例:

{
    "name": "HBaseLinkedService",
    "properties": {
        "type": "HBase",
        "typeProperties": {
            "host" : "<cluster name>.azurehdinsight.cn",
            "port" : "443",
            "httpPath" : "/hbaserest0",
            "authenticationType" : "Basic",
            "username" : "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "enableSsl" : true
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

泛型 HBase 的示例:

{
    "name": "HBaseLinkedService",
    "properties": {
        "type": "HBase",
        "typeProperties": {
            "host" : "<host e.g. 192.168.222.160>",
            "port" : "<port>",
            "httpPath" : "<e.g. /gateway/sandbox/hbase/version>",
            "authenticationType" : "Basic",
            "username" : "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "enableSsl" : true,
            "trustedCertPath" : "<trustedCertPath>",
            "allowHostNameCNMismatch" : true,
            "allowSelfSignedServerCert" : true
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

数据集属性

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

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

属性 描述 必需
类型 数据集的 type 属性必须设置为: HBaseObject
表名称 表的名称。 否(如果指定了活动源中的“query”)

{
    "name": "HBaseDataset",
    "properties": {
        "type": "HBaseObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<HBase linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

复制活动属性

有关可用于定义活动的节和属性的完整列表,请参阅 Pipelines 文章。 本部分提供 HBase 数据源支持的属性列表。

以 HBaseSource 作为源

要从 HBase 复制数据,请将复制活动中的源类型设置为“HBaseSource”。 复制活动 部分支持以下属性:

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

例:

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

查找活动属性

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

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