准备工作
1.准备OSS BucketDataHub支持将数据同步到对象存储OSS中,在创建同步任务前,用户首先需要在OSS管控台创建OSS Bucket,作为DataHub数据同步的目标Bucket。2.服务关联角色授权用户配置同步任务时,账号可以选择使用AccessId/AccessKey静态云账号或者STS临时账号的方式进行数据同步。当选择STS临时账号方式时,将会自动创建DataHub服务关联角色,DataHub服务会使用此角色访问OSS以完成数据同步
3.同步说明1)目前DataHub支持将TUPLE和BLOB数据同步到OSS中
-
TUPLE: 采用csv数据格式,每个Record中的column数据以逗号分隔,Record之间采用
换行符'\N'分隔 -
BLOB: 采用Append方式进行数据追加,如果用户需要拆分OSS数据,用户需要自己往DataHub中写入数据分隔符
2)文件格式同步到OSS中的文件名称采用ConnectorId等有含义信息拼接而成,暂时不支持用户修改3)二级目录DataHub同步会根据数据写入DataHub的时间来生成二级目录,默认Asia/Shanghai时区,更多配置可参考SDK方式创建。
创建同步任务
-
依次进入
项目列表/Project详情/Topic详情页面 -
点击右上角的
+ 同步按钮进行同步任务创建,在弹出的新建Connector对话框中配置Endpoint、Bucket、目录前缀、时间间隔、时间格式、导入字段和鉴权模式等参数,然后单击创建。
下面罗列了部分管控台创建同步任务的配置说明,更多更灵活的操作请参考SDK使用。
-
EndpointOSS服务地址,请使用经典网络域名,内部网络仅支持http,暂不支持HTTPS
-
导入字段DataHub可以根据用户设置将部分column内容同步到OSS文件中
-
目录前缀数据同步到OSS Bucket下面的目录名称
-
时间格式和时间间隔DataHub会根据数据写入DataHub的时间来决定写入到上述目录前缀的二级目录名称时间间隔表示二级目录的数据时间范围,默认[15min ~ 1440min(1day)]
同步示例
-
创建OSS Bucket在OSS管控台中创建同步Bucket。本示例中Bucket名称为datahub2oss,读写权限设置为私有,类型为标准存储。
-
建立DataHub Topic在DataHub中建立Topic,示例中为TUPLE类型topic,schema如下:Topic名称为wurao_tuple_test_001,Shard数量为5。Schema包含3个字段:field1(STRING)、field2(BIGINT)和field3(DOUBLE),均不允许为空。
-
建立同步任务:在新建Connector对话框中,配置Endpoint为
http://oss-cn-hangzhou-internal.aliyuncs.com:80,Bucket为datahub2oss,目录前缀为datahub_pre,时间间隔为15分钟,导入字段选择field1、field2和field3,鉴权模式选择STS,然后单击创建。 -
向DataHub中写入TUPLE数据,数据内容如下:第一条记录为
f_1, 1, 1,第二条记录为f_2, 2, 2(分别对应field1、field3、field2三个字段)。 -
确认同步数据同步文件在OSS中的命名格式如下所示:包含Bucket、目录前缀、二级目录以及文件名等。例如,同步文件路径为
datahub_pre/202003102045/{ConnectorId},其中datahub_pre为目录前缀,202003102045为按时间间隔生成的二级目录名称。下载该文件,并查看文件内容,TUPLE同步文件内容为csv数据格式,如下所示:$cat 3d828972-b9f2-4733-8c00-e46bc4c876f5_4-45400-45401-1583844969437 f_1,"1","1.0" f_2,"2","2.0"