
# Lakeformation数据源（内测中）
华为云LakeFormation是华为云提供的一个企业级数据湖一站式构建服务，它通过在存算分离架构基础上提供统一的元数据管理、细粒度权限控制和兼容开源生态的能力，帮助企业高效构建并运营数据湖。
本数据集成服务支持华为Lakeformation数据源，提供高效便捷的数据迁移服务。
#### 实现原理
Lakeformation数据集成采用原生OBS文件写入方式，支持Hive格式下PARQUET/ORC，分区表/非分区表等处理能力，故而具备优异的写入性能。
#### 使用前准备及限制
- **网络要求**
  Lakeformation数据源必须与CDM网络进行通讯，以确保数据传输的顺畅性。详情请参见[网络打通](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_7765.html)。
  
- **权限要求**
  - **Lakeformation元数据读写权限** ：数据集成服务将与Lakeformation进行读写交付，需要授予**LakeFormation CommonOperations** 或**LakeFormation FullAccess** 系统策略，详见[Lakeformation权限](https://support.huaweicloud.com/productdesc-lakeformation/lakeformation_01_0031.html)。
  
  - **OBS写入权限：** 数据集成服务将与OBS进行读写文件交互，可授予**OBS OperateAccess** **或OBS Administrator**系统策略。
   
- **表格式限制**
  当前数据集成服务仅支持写入Lakeformation的Hive表格式。
  
 
#### 支持的数据类型
以下给您介绍Lakeformation写入支持数据源类型。
| 数据类型    | LAKEFORMATION数据类型 | 写入是否支持 |
|:---|:---|:---|
| 数值类型    | TINYINT           | √      |
| 数值类型    | SMALLINT          | √      |
| 数值类型    | INT               | √      |
| 数值类型    | BIGINT            | √      |
| 数值类型    | FLOAT             | √      |
| 数值类型    | DOUBLE            | √      |
| 数值类型    | DECIMAL           | √      |
| 布尔类型    | BOOLEAN           | √      |
| 字符类型    | CHAR              | √      |
| 字符类型    | VARCHAR           | √      |
| 字符类型    | STRING            | √      |
| 日期/时间类型 | DATE              | √      |
| 日期/时间类型 | TIMESTAMP         | √      |
| 二进制类型   | BYTEA             | √      |
| 复杂类型    | ARRAY             | √      |
| 复杂类型    | MAP               | √      |
| 复杂类型    | UNIONTYPE         | x      |
| 复杂类型    | STRUCT            | x      |
   
#### 支持的文件存储格式
以下给您介绍Lakeformation写入支持的文件存储格式。
| 数据源存储格式  | 写入是否支持 |
|:---|:---|
| PARQUET  | √      |
| ORC      | √      |
| AVRO     | x      |
| JSON     | x      |
| XML      | x      |
| CSV      | x      |
| TEXT     | x      |
| RC       | x      |
| SEQUENCE | x      |
   
#### 支持的迁移场景
数据集成离线同步支持以下三种同步方式，以满足不同数据迁移场景的需求：
- **单表同步**
  适用于数据入湖和数据上云场景下，表或文件级别的数据同步。
  
- **分库分表同步**
  适用于数据入湖和数据上云场景下，多库多表同步场景。
  
- **整库迁移**
  适用于数据入湖和数据上云场景下，离线或自建数据库整体同步场景。
  
需要注意的是，分库分表与整库迁移能力会根据不同region的上线支持情况有所不同，具体支持情况以页面为准。以下是针对Lakeformation的支持迁移场景概览：
| 支持迁移场景 | 单表读取 | 单表写入 | 分库分表读取 | 分库分表写入 | 整库读取 | 整库写入 |
|:---|:---|:---|:---|:---|:---|:---|
| 是否支持   | x    | √    | x      | √      | x    | x    |
   
#### 核心能力速览
- **连接配置**
  
  | 配置项    | 支持情况 | 说明                            |
  |:---|:---|:---|
  | AKSK认证 | √    | 通过AKSK认证方式访问Lakeformation云服务。 |
  | 委托认证   | √    | 支持 IAM 委托认证，通过委托授权服务角色访问 。    |
     
  
- **写入能力**
  
  | 配置项   | 支持情况                                                        | 说明                                                                                                                                                                                                                                                                                                                                                 |
  |:---|:---|:---|
  | 写入模式  | LOAD LOAD OVERWRITE | 支持LOAD和LOAD OVERWRITE两种写入方式。 - LOAD是向目标表追加数据，适用于数据的增量写入。  - LOAD OVERWRITE是覆盖目标表或分区的数据。   |
  | 脏数据处理 | x                                                           | 支持异常数据写入脏数据桶，避免因少量异常数据导致作业失败，暂不支持。                                                                                                                                                                                                                                                                                                                 |
  | 并发写入  | √                                                           | 并发写入可以充分利用集群资源，提高数据写入的速度。                                                                                                                                                                                                                                                                                                                          |
  | 编辑态建表 | √                                                           | 支持在作业配置过程中一键完成半结构化与结构化数据源到Lakeformation的目标表构建。                                                                                                                                                                                                                                                                                                     |
     
  
 
#### 创建数据源
在DataArts Studio管理中心新建相应的数据源，详情请参见[创建DataArts Studio数据连接](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0009.html)。
#### 创建数据集成离线作业
在DataArts Studio数据开发中新建Lakeformation集成作业，详情请参见[新建离线处理集成作业](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1458.html)。
#### 最佳实践
[Lakeformation写入模式最佳实践](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1571.html)
[LakeFormation数据源网络配置最佳实践](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1572.html)
