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

适用于: Azure 数据工厂

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

支持的功能

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

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

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

先决条件

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

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

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

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

入门

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

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

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

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

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

  2. 搜索 Drill 并选择 Drill 连接线。

    Drill 连接器的屏幕截图。

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

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

连接器配置详细信息

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

链接服务属性

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

属性 说明 必需
type type 属性必须设置为:Drill
connectionString 用于连接到 Drill 的 ODBC 连接字符串。
还可以将密码放在 Azure 密钥保管库中,并从连接字符串中拉取 pwd 配置。 有关更多详细信息,请参阅以下示例和在 Azure 密钥保管库中存储凭据一文。
connectVia 用于连接到数据存储的集成运行时。 在先决条件部分了解更多信息。 如果未指定,则使用默认 Azure Integration Runtime。

示例:

{
    "name": "DrillLinkedService",
    "properties": {
        "type": "Drill",
        "typeProperties": {
            "connectionString": "ConnectionType=Direct;Host=<host>;Port=<port>;AuthenticationType=Plain;UID=<user name>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

示例:在 Azure 密钥保管库中存储密码

{
    "name": "DrillLinkedService",
    "properties": {
        "type": "Drill",
        "typeProperties": {
            "connectionString": "ConnectionType=Direct;Host=<host>;Port=<port>;AuthenticationType=Plain;UID=<user name>;",
            "pwd": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

数据集属性

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

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

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

示例

{
    "name": "DrillDataset",
    "properties": {
        "type": "DrillTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Drill linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

复制活动属性

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

以 DrillSource 作为源

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

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

示例:

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

Lookup 活动属性

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

后续步骤

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