最近更新时间:2024.03.01 11:30:54
首次发布时间:2022.09.15 17:46:56
HDFS 作为业界使用最广泛的开源分布式文件系统,具有高容量、高吞吐的特点,经常用于大规模数据应用。
HDFS 数据源为您提供可视化读和实时写入 HDFS 的数据集成通道能力,实现和不同数据源之间进行数据传输。
本文将为您介绍 DataSail 对 HDFS 数据同步能力的支持情况。
目前支持离线读取 Json 和 Pb 格式的文件,内部支持的数据类型如下:
类型分类 | 数据集成 column 配置类型 | Json 数据类型 | Pb 数据类型 |
---|---|---|---|
整数类 | tinyint、int、bigint | 数字 | int32、int64、 |
浮点类 | float、double、decimal | float、double | |
字符串类 | string | 字符串 | string、enum |
时间类 | date、timestamp | 时间字符串、整数时间戳 | 时间字符串、整数时间戳 |
布尔类 | boolean | 布尔值 | bool |
数组类 | array | 数组 | repeated |
字典类 | map | 对象 | message |
二进制类型 | binary | bytes |
新建数据源操作详见配置数据源,以下为您介绍不同接入方式的 HDFS 数据源配置相关信息:
EMR-HDFS 数据源
注意
EMR 集群所在的 VPC 需和独享集成资源组中的 VPC 保持一致,确保网络能互相访问。不同 VPC 情况时,详见“2 使用限制”相关说明。
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
---|---|
基本配置 | |
*数据源类型 | HDFS |
*接入方式 | EMR HDFS |
*数据源名称 | 数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。 |
参数配置 | |
*EMR 集群 ID | 下拉选择已创建成功的 EMR Hadoop 类型的集群名称,若还未创建相关集群,您可前往 EMR-控制台创建。详见创建集群。 |
连接串形式 Hive 数据源
用连接串形式配置 Hive 数据源,其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
---|---|
基本配置 | |
*数据源类型 | HDFS |
*接入方式 | 连接串 |
*数据源名称 | 数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。 |
参数配置 | |
defaultFS | 填写 Hadoop HDFS 文件的 namenode 节点地址,以 hdfs://ServerIP:Port 的形式填写。 |
扩展配置 | 输入必要的 HDFS 扩展配置属性,例如 Hadoop HA 的配置。默认情况无需额外配置,填写
说明
|
*认证方式 | 目前暂不支持配置认证方式。 |
HDFS 数据源测试连通性成功后,进入到数据开发界面,开始新建 HDFS 相关通道任务。新建任务方式详见离线数据同步、流式数据同步。
任务创建成功后,您可根据实际场景,配置 HDFS 离线读通道任务。
说明
目前暂不支持 HDFS 以脚本模式(DSL)配置通道任务。
数据来源选择 HDFS,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
---|---|
*数据源类型 | 下拉选择 Hive 数据源类型。 |
*数据源名称 | 已在数据源管理中注册成功的 HDFS 数据源,下拉可选。 |
*数据源地址 | 填写需要采集的数据文件所在路径:
|
*数据类型 | 支持选择 json、pb 等几种数据类型:
|
流式集成任务实时写入 Hive 数据源,数据目标类型选择 Hive,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
---|---|
*目标类型 | 下拉选择 Hive 数据源类型。 |
*数据源名称 | 已在数据源管理中注册成功的 Hive 数据源,下拉可选。 |
*HDFS 保存地址 | 填写需要写入数据的 HDFS 存储路径信息。 注意
|
可视化离线读 HDFS,数据来源和目标端配置完成后,需要指定来源和目标端的字段映射关系,根据字段映射关系,数据集成任务将源端字段中的数据,写入到目标端对应字段中。
您可通过以下三种方式操作字段映射关系:
说明
实时 HDFS Writer 目前上游只能承接 BMQ、RocketMQ、Kafka 和 DataSail 这四种消息队列类型数据源。这四种数据源会将消息的原始负载直接发送到 HDFS Writer,然后由 HDFS Writer 直接以二进制形式写入 HDFS 文件,因此不需要配置 column 字段。
对于可视化通道任务,高级参数可在任务开发界面:任务运行参数 > 自定义参数设置中填写,读参数需要加上 job.common.
前缀如图所示:
JSON 数据格式相关参数:
参数 | 描述 | 默认值 |
---|---|---|
job.common.case_insensitive | JSON 内容解析时是否对字段 Key 大小写敏感。 | true |
job.common.support_json_path | 是否支持带 | false |
job.common.json_serializer_features | DataSail 使用 fastjson 解析 JSON 内容,用户可以通过此参数设置 JSON 解析的 features,详情参考 SerializerFeature - fastjson 1.2.83 javadoc。多个 SerializerFeature 使用逗号分隔。 | 无 |
job.common.convert_error_column_as_null | 是否将类型转化失败的字段默认置为 null。 | false |
实时写高级参数可在任务开发界面:任务运行参数 > 高级参数中,选择开启按钮后,进行填写,写参数时需要加上 job.writer.
前缀:
参数 | 描述 | 默认值 |
---|---|---|
job.writer.rolling.max_part_size | 文件切割大小,单位字节,默认 10G。 注意 这里是指未压缩读的数据大小, 而非 HDFS 最终文件大小。 | 10737418240 |
job.writer.hdfs.replication | HDFS 副本数 | 3 |
job.writer.hdfs.compression_codec | HDFS 压缩格式,支持
| zstd |
job.writer.dump.directory_frequency | 写入 HDFS 文件夹的频率,支持以下参数:
| dump.directory_frequency.day |