
# DMS Kafka数据源
DMS Kafka是华为云基于开源Apache Kafka的消息队列服务，提供高吞吐量、数据持久化、水平扩展性和流数据处理能力。
本数据集成服务全面支持华为云DMS Kafka产品，满足不同版本的兼容性需求，确保用户能够无缝对接华为云DMS Kafka的最新特性，同时兼容历史版本，保障数据的稳定传输和处理。
#### 使用前准备及限制
- **网络要求**
  DMS Kafka数据源必须与CDM网络进行通讯，以确保数据传输的顺畅性。详情请参见[网络打通](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_7765.html)。
  
- **权限** **要求**
  - **读权限：** 如果需要从DMS Kafka读取数据，需为数据集成服务的IAM用户或用户组授予DMS Kafka的只读权限。可选择授予**DMS ReadOnlyAccess**系统策略，或者根据具体需求创建自定义策略，授予如查询实例信息等读取相关操作的权限。
  
  - **写权限** ：如果需要向DMS Kafka写入数据，需为数据集成服务的IAM用户或用户组授予DMS Kafka的写入权限。可选择授予**DMS UserAccess** 或**DMS FullAccess**系统策略，或者创建自定义策略，授予如创建实例、修改实例等写入相关操作的权限。
  
  
  
  - **端口放通：** 在配置DMS Kafka数据源时，需要确保这些端口在防火墙和安全组中已经正确放开，以允许数据集成服务与DMS Kafka实例之间的正常通信。
    表1各服务端口说明 
    | **服务**    | **端口类型** | **端口号** | **用途**   |
    |:---|:---|:---|:---|
    | DMS-Kafka | TCP      | 9092    | 内网明文接入端口 |
    | DMS-Kafka | TCP      | 9093    | 内网密文接入端口 |
    | DMS-Kafka | TCP      | 9094    | 公网明文接入端口 |
    | DMS-Kafka | TCP      | 9095    | 公网密文接入端口 |
       
    
   
 
#### 支持的数据类型
数据集成读写DMS Kafka支持JSON格式的解析，将记录进行类型推断，以下为支持的读写类型：
| **JSON数据类型** | **读取是否支持** | **写入是否支持** |
|:---|:---|:---|
| STRING       | √          | √          |
| INTEGER      | √          | √          |
| LONG         | √          | √          |
| DOUBLE       | √          | √          |
| BOOLEAN      | √          | √          |
   
#### 支持的迁移场景
数据集成离线同步支持以下三种同步方式，以满足不同数据迁移场景的需求：
- **单表同步**
  适用于数据入湖和数据上云场景下，表或文件级别的数据同步。
  
- **分库分表同步**
  适用于数据入湖和数据上云场景下，多库多表同步场景。
  
- **整库迁移**
  适用于数据入湖和数据上云场景下，离线或自建数据库整体同步场景。
  
需要注意的是，分库分表与整库迁移能力会根据不同region的上线支持情况有所不同，具体支持情况以页面为准。以下是针对DMS Kafka的支持迁移场景概览：
| 支持迁移场景 | 单表读取 | 单表写入 | 分库分表读取 | 分库分表写入 | 整库读取 | 整库写入 |
|:---|:---|:---|:---|:---|:---|:---|
| 是否支持   | √    | √    | x      | √      | x    | x    |
   
#### 核心能力速览
- **连接配置**
  
  | 配置项     | 支持情况 | 说明                                           |
  |:---|:---|:---|
  | SSL认证方式 | √    | 支持DMS-Kafka SSL认证接入，确保数据传输的安全性。              |
  | 连接属性调优  | √    | 支持根据业务需求对连接属性进行调优，如调整连接超时时间、心跳间隔等，以提高性能和稳定性。 |
     
  
- **读取能力**
  
  | 配置项      | 支持情况     | 说明                                                  |
  |:---|:---|:---|
  | 增量读取     | √        | 支持通过【起止时间】策略对Kafka数据进行过滤读取，实现增量读取。                  |
  | 分片并发     | √        | 支持根据Kafka的分区进行并发读取，充分利用资源，提升读取性能，尤其适用于大规模数据集。       |
  | 数据类型解析   | JSON/CSV | 支持解析JSON和CSV格式的数据。                                  |
  | JSON嵌套解析 | √        | 支持解析嵌套的JSON数据结构，能够正确处理包含多层嵌套字段的JSON数据，确保数据的完整性和准确性。 |
  | 自定义字段能力  | √        | 可在任务级追加计算列、常量列或脱敏函数，满足个性化业务需求。                      |
  | 脏数据能力    | x        | 支持异常数据写入脏数据桶，避免因少量异常数据导致作业失败，暂不支持。                  |
     
  
- **写入能力**
  
  | 配置项    | 支持情况     | 说明                                 |
  |:---|:---|:---|
  | 数据类型解析 | JSON/CSV | 支持写入JSON和CSV格式的数据。                 |
  | 并发写入   | √        | 并发写入可以充分利用集群资源，提高数据写入的速度。          |
  | 脏数据能力  | x        | 支持异常数据写入脏数据桶，避免因少量异常数据导致作业失败，暂不支持。 |
     
  
 
#### 创建数据源
在DataArts Studio管理中心新建相应的数据源，详情请参见[创建DataArts Studio数据连接](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0009.html)。
#### 创建数据集成离线作业
在DataArts Studio数据开发中新建Kafka集成作业，详情请参见[新建离线处理集成作业](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1458.html)。
#### 最佳实践
[Kafka连接属性配置](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1539.html)
[Kafka增量抽取最佳实践](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1535.html)
