OSS-HDFS服务(JindoFS服务)是一款云原生数据湖存储产品,OSS-HDFS数据源为您提供读取和写入OSS-HDFS的双向通道,本文为您介绍DataWorks的OSS-HDFS数据同步的能力支持情况。
使用限制
离线读
使用OSS-HDFS Reader时,请注意以下事项:
由于连通资源组到OSS-HDFS的网络链路比较复杂,建议您使用Serverless资源组(推荐)和独享数据集成资源组完成数据同步任务。您需要确保您的资源组具备OSS-HDFS的网络访问能力。
OSS-HDFS Reader支持以下功能:
支持text、csv、orc和parquet格式的文件,且要求文件内容存放的是一张逻辑意义上的二维表。
支持多种类型数据读取,支持列常量。
支持递归读取、支持通配符
*
和?
。多个File可以支持并发读取。
OSS-HDFS Reader暂不支持单个File多线程并发读取,此处涉及到单个File内部切分算法。
离线写
使用OSS-HDFS Writer时,请注意以下事项:
目前OSS-HDFS Writer仅支持text、orc和parquet三种格式的文件,且文件内容存放的必须是一张逻辑意义上的二维表。
对于text类型,需要保证写入OSS-HDFS文件的分隔符与在Hive上创建表时的分隔符一致,从而实现写入OSS-HDFS数据与Hive表字段关联。
实时写
支持实时写入的能力。
支持实时写入Hudi格式版本:0.14.x。
实现过程
OSS-HDFS Writer的实现过程如下所示:
根据您指定的path,创建一个OSS-HDFS文件系统上不存在的临时目录。
创建规则:path_随机。
将读取的文件写入这个临时目录。
全部写入后,将临时目录下的文件移动到您指定的目录(在创建文件时保证文件名不重复)。
删除临时目录。如果在此过程中,发生网络中断等情况造成无法与OSS-HDFS建立连接,需要您手动删除已经写入的文件和临时目录。
支持的字段类型
离线读
ParquetFile、ORCFile、TextFile、CsvFile中的类型,会默认转为数据集成支持的内部类型,如下表所示。
类型分类 | OSS-HDFS数据类型 |
整数类 | TINYINT、SMALLINT、INT、BIGINT |
浮点类 | FLOAT、DOUBLE、DECIMAL |
字符串类 | STRING、CHAR、VARCHAR |
日期时间类 | DATE、TIMESTAMP |
布尔类 | BOOLEAN |
LONG:OSS-HDFS文件中的整型类型数据,例如123456789。
DOUBLE:OSS-HDFS文件中的浮点类型数据,例如3.1415。
BOOLEAN:OSS-HDFS文件中的布尔类型数据,例如true、false,不区分大小写。
DATE:OSS-HDFS文件中的时间类型数据,例如2014-12-31 00:00:00。
离线写
OSS-HDFS Writer提供向OSS-HDFS文件系统指定路径中写入TextFile文件、 ORCFile文件以及ParquetFile格式文件。
OSS-HDFS支持的数据类型,如下表所示。
类型分类 | OSS-HDFS数据类型 |
整数类 | TINYINT、SMALLINT、INT和BIGINT |
浮点类 | FLOAT和DOUBLE |
字符串类 | CHAR、VARCHAR和STRING |
布尔类 | BOOLEAN |
日期时间类 | DATE和TIMESTAMP |
创建数据源
在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建并管理数据源,详细的配置参数解释可在配置界面查看对应参数的文案提示。
数据同步任务开发
数据同步任务的配置入口和通用配置流程可参见下文的配置指导。
单表离线同步任务配置指导
操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。
脚本模式配置的全量参数和脚本Demo请参见下文的附录:OSS-HDFS脚本Demo与参数说明。
单表实时同步任务配置指导
操作流程请参见配置单表增量数据实时同步、DataStudio侧实时同步任务配置。
整库(实时)全增量同步配置指导
操作流程请参见数据集成侧同步任务配置。
附录:OSS-HDFS脚本Demo与参数说明
离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要按照统一的脚本格式要求,在任务脚本中编写相应的参数,详情请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下数据源的参数配置详情。