You need to enable JavaScript to run this app.
导航

配置 TOS 数据源

最近更新时间2023.11.24 14:46:20

首次发布时间2022.09.15 17:46:56

对象存储 TOS(Tinder Object Storage)是火山引擎提供的海量、安全、低成本、易用、高可靠、高可用的分布式云存储服务。DataSail 中 TOS 数据源为您提供读取和写入 TOS 数据的双向通道能力,实现不同数据源与 TOS 进行数据传输。
本文将为您介绍 DataSail 的 TOS 数据同步的能力支持情况。

1 使用限制

  1. 子账号新建数据源时,需要有项目的管理员角色,方可以进行新建数据源操作。各角色对应权限说明,详见:管理成员

  2. 已开通 TOS 服务,并创建 TOS 存储桶。详见创建存储桶

  3. TOS Reader 实现了从 TOS 读取数据并转为数据集成协议的能力,TOS 本身为无结构化数据存储。对于数据集成而言,TOS Reader 功能支持情况如下:

    支持不支持
    • 支持 TXT,CSV 格式,支持自定义分隔符,字符集支持 UTF-8 格式或 GBK 格式。

    • 支持 PARQUET 格式。

    • 支持文本文件,文本文件每行支持 json 或 pb 解析。

    • 单个 Object(File)不支持多线程并发读取。

    • 单个 Object 在压缩情况下,从技术上无法支持多线程并发读取。

    • 单个 Object(File)不超过 100 GB。

    注意

    准备 TOS 数据时,如果数据为 TXT、CSV 文件,则文本字段中不能包含分隔符,否则会串行。

2 支持的字段类型

TOS Reader 支持的字段类型如下:

类型分类数据集成 column 配置类型
整数类LONG
字符串类STRING
浮点类DOUBLE
布尔类BOOLEAN
日期时间类DATE

3 数据同步任务开发

3.1 数据源注册

新建数据源操作详见配置数据源,以下为您介绍不同接入方式的 TOS 数据源配置相关信息:

  1. 火山引擎 TOS 接入方式

    其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

    参数
    说明
    基本配置
    *数据源类型TOS
    *接入方式火山引擎 TOS
    *数据源名称数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。
    参数配置

    *TOS 对象存储桶

    下拉选择当前租户下已创建成功的 TOS 存储桶名称信息。若现有存储桶不符合您的要求,您可前往 TOS 控制台创建。
    创建操作详见创建存储桶

    *Access key ID

    进入火山引擎,访问控制台的密钥管理界面,复制 Accesskey ID 填写到此处。如果为子用户,请联系主账号获取密钥。

    说明

    填写的 AK\SK 信息,需要有对应存储桶的读取权限。

    *Secret Access Key与 Access Key ID 配套使用,类似登录密码,用于签名您的访问参数,以防被篡改。
  2. 连接串形式的接入方式

    其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

    参数
    说明
    基本配置
    *数据源类型TOS
    *接入方式连接串
    *数据源名称数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。
    参数配置
    *TOS 对象存储桶连接串形式需手动填写想访问对应租户下的存储桶名称。

    *Accesskey ID

    进入火山引擎,访问控制台的密钥管理界面,复制 Accesskey ID 填写到此处。如果为子用户,请联系主账号获取密钥。

    说明

    填写的 AK\SK 信息,需要有对应存储桶的读取权限。

    *Secret Access Key与 AccessKey ID 配套使用,类似登录密码,用于签名您的访问参数,以防被篡改。

3.2 新建离线任务

TOS 数据源测试连通性成功后,进入到数据开发界面,开始新建 TOS 相关通道任务。新建任务方式详见离线数据同步
任务创建成功后,您可根据实际场景,配置 TOS 离线读、TOS 离线写或 TOS 流式写等通道任务。

3.3 可视化配置 TOS 离线读

数据来源选择 TOS,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

参数说明
*数据源类型下拉选择 TOS 数据源类型。

*数据源名称

已在数据源管理中注册成功的 TOS 数据源,下拉可选。
若还未建立相应数据源,可单击数据源管理按钮,前往创建 TOS 数据源。

*文件路径

填写需要采集的 TOS 数据文件所在路径,可在 TOS 中查看。

说明

路径中包括 ^ , * , ? , [ , ] , { , } , ( , ) , \ 等符号,则会被判定为正则形式的路径。

*数据类型

支持选择 json、pb、parquet、csv、txt 等几种数据类型:

  • Parquet 类型:字段 Schema,可通过同名映射的方式配置。

  • Json 类型:

    数据类型为 json 时,需添加示例数据,以 json 字符串形式描述 schema,需填写完整的数据。例如:{"uid":123, "ut":12, "user_name": "xxx"}。 若没有示例数据,则 Schema 信息不准确,您需手动添加 Schema 字段映射配置。

  • csv、txt 类型:需添加分隔符、原始字符集、导入起始行参数:

    • 分隔符:选择原始文件的分隔符,如“,”、“Tab”、“;”等,下拉可选,同时也支持自定义分隔符的方式指定。

    • 原始字符集:需选择原始文件的字符集,支持选择 GBK、UTF-8 格式。

    • 导入起始行:无表头请填0,有表头请填1。

  • PB 类型:需填写 Pb 类定义和 Pb 类名信息

    • Pb 类定义:

      输入 Pb 类定义文件信息,只支持一个 Pb 类定义,填写示例如下:

      syntax = "proto2";
      package abase_test;
      message AbaseTest {
      required int64 first_id = 1;
      required int64 latest_id = 2;
      }
      
    • Pb 类名:Pb 类名需填写为 message 名称,例如上方定义的 Pb 类,对应 PB Class 为 AbaseTest。

3.4 可视化配置 TOS 离线写

数据目标端选择 TOS,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

参数说明
*目标类型下拉选择 TOS 数据源类型。

*数据源名称

已在数据源管理中注册成功的 TOS 数据源,下拉可选。
若还未建立相应数据源,可单击数据源管理按钮,前往创建 TOS 数据源。

*文件路径填写需要写入的 TOS 数据文件所在路径,可在 TOS 中查看。

*文件名前缀

输入 TOS 目标文件名的前缀信息,如填写 tos_writer,则生成的文件名会以 tos_writer 开头。
文件名自动生成规则如下:
filePrefix_{jobId}_{subTaskId}_{file_count}_{generate_timestamp}.{fileFormat}.{compression_suffix}。

  • filePrefix:即您在输入框中输入的前缀信息;

  • jobId:当前任务 ID,可在调度设置 > 基本信息中查看;

  • subTaskId:并发 Task 的序号;

  • file_count:当前该 Task 写的第几个文件;

  • generate_timestamp:文件创建时间;

  • fileFormat:文件格式,即文本类型中选择的 csv、json 等类型;

  • compresion_suffix:文件压缩格式,如 .gz、.snappy 等格式,其中压缩格式为 None 时,文件名中显示为空

*文本类型

支持选择 json、parquet、csv、orc 等几种数据类型:

  • json、parquet、orc 类型:无需填写其他配置信息。

  • csv 类型:需填写是否配置表头、分隔符信息:

    • 是否配置表头:根据实际情况,选择产出文件是否需要配置表头,若选择是,则默认将字段映射的所有字段配置为表头。

    • 分隔符:选择原始文件的分隔符,如“,”、“Tab”、“;”等,下拉可选,同时也支持自定义分隔符的方式指定。

*压缩格式选择写入 TOS 中数据文件的压缩格式,支持选择 None、Snappy、Lz4、Gzip、Zstd 等压缩格式。

3.5 可视化配置 TOS 实时写

流式集成任务实时写入 TOS 数据源,数据目标类型选择 TOS,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

参数说明
*目标类型下拉选择 TOS 数据源类型。

*数据源名称

已在数据源管理中注册成功的 TOS 数据源,下拉可选。
若还未建立相应数据源,可单击数据源管理按钮,前往创建 TOS 数据源。

*TOS 保存地址填写需要写入数据的 TOS 存储路径信息。

3.5 字段映射

可视化离线读 TOS,数据来源和目标端配置完成后,需要指定来源和目标端的字段映射关系,根据字段映射关系,数据集成任务将源端字段中的数据,写入到目标端对应字段中。
您可通过以下四种方式操作字段映射关系:

  • 自动添加:源端 TOS 数据类型为 csv、txt、json、pb 时,单击自动添加按钮,源端字段信息可通过自动添加按钮操作。

  • 同名映射:源端 TOS 数据类型为 Parquet 时,您可在配置完目标端字段信息后,单击源端字段映射中的同名映射按钮,进行同名字段映射配置。

  • 手动添加:单击手动添加按钮,可以手动编辑来源和目标的字段信息,可以逐个添加。

  • 移动\删除字段:您也可以根据需要移动字段映射顺序或删除字段。

说明

当上游为 BMQ、RocketMQ、Kafka 和 DataSail 这四种消息队列的数据源时,写入 TOS 不需要配置 column 字段。