使用 Azure 数据工厂或 Synapse Analytics 从 Impala 复制数据
适用于:Azure 数据工厂
Azure Synapse Analytics
本文概述如何使用 Azure 数据工厂或 Synapse Analytics 管道中的复制活动从 Impala 复制数据。 本文基于总体概述复制活动的复制活动概述一文。
此 Impala 连接器支持以下功能:
① Azure 集成运行时 ② 自承载集成运行时
有关复制活动支持作为源或接收器的数据存储列表,请参阅支持的数据存储表。
服务提供了内置驱动程序,用来启用连接。 因此,无需要手动安装驱动程序即可使用此连接器。
如果数据存储位于本地网络、Azure 虚拟网络或 Amazon Virtual Private Cloud 内部,则需要配置自承载集成运行时才能连接到该数据存储。
如果数据存储是托管的云数据服务,则可以使用 Azure Integration Runtime。 如果访问范围限制为防火墙规则中允许的 IP,你可以选择将 Azure Integration Runtime IP 添加到允许列表。
此外,还可以使用 Azure 数据工厂中的托管虚拟网络集成运行时功能访问本地网络,而无需安装和配置自承载集成运行时。
要详细了解网络安全机制和数据工厂支持的选项,请参阅数据访问策略。
若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:
使用以下步骤在 Azure 门户 UI 中创建一个到 Impala 的链接服务。
浏览到 Azure 数据工厂或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:
搜索 Impala 并选择 Impala 连接器。
配置服务详细信息、测试连接并创建新的链接服务。
对于特定于 Impala 连接器的数据工厂实体,以下部分提供有关用于定义这些实体的属性的详细信息。
Impala 链接服务支持以下属性。
属性 | 描述 | 必需 |
---|---|---|
type | type 属性必须设置为:Impala。 | 是 |
host | Impala 服务器的 IP 地址或主机名(即,192.168.222.160)。 | 是 |
port | Impala 服务器用来侦听客户端连接的 TCP 端口。 默认值为 21050。 | 否 |
authenticationType | 可使用的身份验证类型。 允许的值为:Anonymous、SASLUsername 和 UsernameAndPassword。 |
是 |
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 | 具有架构的表的名称。 支持此属性是为了向后兼容。 对于新的工作负荷,请使用 schema 和 table 。 |
否(如果指定了活动源中的“query”) |
示例
{
"name": "ImpalaDataset",
"properties": {
"type": "ImpalaObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Impala linked service name>",
"type": "LinkedServiceReference"
}
}
}
有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供 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 活动。
有关复制活动支持作为源和接收器的数据存储的列表,请参阅受支持的数据存储。