# Azure Data Lake Storage

Azure Data Lake Storage 可以用作：

* 使用 Databricks、Microsoft Fabric 或 Azure Synapse Analytics 作为数据管道目标时的云暂存区。云暂存区是数据和更改在应用和存储之前暂存的地方。

* 复制任务中的目标。

  * 有关如何使用标准、高级和企业订阅将数据复制到 Azure Data Lake Storage 的说明，请参阅[使用标准、高级或企业订阅将在数据湖中登陆数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes.htm)。
  * 有关如何使用入门订阅将数据复制到 Azure Data Lake Storage 的说明，请参阅[通过Qlik Talend Cloud Starter 订阅复制数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-starter-subscription.htm)。

## 限制和考虑事项

以下限制适用：

* 不支持完整 LOB 模式。
* 不支持包含斜杠 (/) 或反斜杠 (\) 字符的数据库名称、模式名称或表名称。

## 存储权限

连接器设置中指定的 Azure Active Directory 租户必须被授予以下 ADLS Gen2 存储权限。

* 在存储容器上：LIST
* 在存储目录上：READ、WRITE 和 DELETE
* 在 ADLS Gen2 文件系统的访问控制 (IAM) 设置中，将“存储 Blob 数据贡献者”角色分配给 （AD 应用程序 ID）。角色可能需要几分钟才能生效。

## 设置 Azure Data Lake Storage 连接属性

要配置连接器，请执行以下操作：

1. 在连接中单击创建连接。

2. 选择 Azure Data Lake Storage 目标连接器，然后提供以下设置：

### 数据目标

数据网关：选择将用于测试与 ADLS 的连接的 数据移动网关。这应该与从数据源部署到登陆数据的 数据移动网关 相同。

### 连接属性

* 存储帐户

  存储帐户的名称。

* 容器名称

  要用作云暂存区域的容器的名称。

* Azure Active Directory 租户 ID

  Azure Active Directory 中订阅的租户 ID。

* Azure 应用程序注册客户端 ID

  Azure Active Directory 中应用程序的客户端 ID。

* Azure 应用程序注册密码

  Azure Active Directory 中应用程序的密码

### 名称

连接的显示名称。

## 数据类型映射

下表显示了从 Qlik Cloud 数据类型到 Azure Data Lake Storage 数据类型的默认映射。

信息注释仅当启用了“在数据湖中登陆数据”任务设置中的[在目标文件夹中创建元数据文件](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes-settings.htm#Metadata)选项时，数据类型映射才相关。

### 从 Qlik Cloud 数据类型到 Azure Data Lake Storage 的映射

Qlik CloudQlik Cloud 和 Azure Data Lake StorageAzure Data Lake Storage 数据类型

| Qlik Cloud 数据类型 | Azure Data Lake Storage 目标数据类型 |
| --- | --- |
| DATE | DATE |
| TIME | TIME |
| DATETIME | DATETIME |
| BYTES | BYTES（长度） |
| BLOB | BLOB |
| REAL4 | REAL4 (7) |
| REAL8 | REAL8 (14) |
| INT1 | INT1 (3) |
| INT2 | INT2 (5) |
| INT4 | INT4 (10) |
| INT8 | INT8 (19) |
| UINT1 | UINT1 (3) |
| UINT2 | UINT2 (5) |
| UINT4 | UINT4 (10) |
| UINT8 | UINT8 (20) |
| NUMERIC | NUMERIC (p,s) |
| STRING | STRING（长度） |
| WSTRING | STRING（长度） |
| CLOB | CLOB |
| NCLOB | NCLOB |
| BOOLEAN | BOOLEAN (1) |

### 从 Qlik Cloud 数据类型到 Parquet 的映射

当把 Parquet 设置为文件格式时，由于 Parquet 支持的数据类型数量有限，数据类型映射如下：

Parquet 数据类型映射

| Qlik Cloud数据类型 | Parquet 图元类型 | 逻辑类型 |
| --- | --- | --- |
| BOOLEAN | BOOLEAN |  |
| INT1 | INT32 | INT(8, true) |
| INT2 | INT32 | INT(16, true) |
| INT4 | INT32 |  |
| INT8 | INT64 |  |
| UINT1 | INT32 | INT(8, false) |
| UINT2 | INT32 | INT(16, false) |
| UINT4 | INT64 |  |
| UINT8 | INT64 | INT(64, false) |
| REAL4 | FLOAT |  |
| REAL8 | DOUBLE |  |
| NUMERIC | FIXED\_LEN\_BYTE\_ARRAY (16) | DECIMAL（精确度、刻度） |
| STRING | BYTE\_ARRAY | STRING |
| WSTRING | BYTE\_ARRAY | STRING |
| BYTES | BYTE\_ARRAY |  |
| BLOB | BYTE\_ARRAY |  |
| CLOB | BYTE\_ARRAY | STRING |
| NCLOB | BYTE\_ARRAY | STRING |
| DATE | INT32 | DATE |
| TIME | INT32 | TIME (UTC=true, unit=MILLIS) |
| DATETIME | INT64 | TIMESTAMP (UTC=true, unit=MICROS) |

## 了解详情

* [登陆数据湖中的数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes.htm)
* [Microsoft Fabric 目标](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/fabric-target.htm)
* [Azure Synapse Analytics 目标](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/azure-target.htm)
* [Databricks 目标](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/databricks-target.htm)