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

配置 LAS 数据源

最近更新时间2023.11.09 17:43:57

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

湖仓一体分析服务 (LAS)数据源,通过数据集成同步任务,为您提供离线任务的读取和写入 LAS、实时任务写入 LAS的能力,实现不同数据源与 LAS 之间的数据传输。
本文将为您介绍 LAS 数据同步的能力支持情况。

1 使用前提

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

  2. 数据源配置时填写的 AK、SK 信息,需要有 LAS Schema 的 read、write 或 Developer(同时拥有读写)权限:

    1. 登录 LAS 控制台

    2. 在左侧导航栏中,单击权限管理按钮,进入权限管理界面。

    3. 在权限管理界面,切换至数据权限页签,单击右侧授予权限按钮,根据实际场景,为 AK\SK 对应的子用户,授予 read、write 或 Developer(同时拥有读写)权限。

    添加权限操作详见权限管理

2 使用限制

DataSail 目前前仅支持离线读、离线写和实时写入 LAS 能力。

3 支持的字段类型

数据类型是否支持描述范围
INTEGER支持带符号的四字节整数[-2 ^ 31, 2^ 31-1]
BIGINT支持带符号的八字节整数[-2 ^ 63, 2^ 63-1]

DOUBLE

支持

双精度浮点数

{
(-1.7976931348623157E+308,-2.2250738585072014E-308),
0,
(2.2250738585072014E-308,1.797693134 8623157E+308)
}

Decimal(precision,scale)

支持

可选择精度的精确数字类型

1 <= precision <= 38
0 <= scale <= 18
scale <= precision
只指定 decimal 时,默认为 decimal(38,38)

DATE支持日历日期(年、月、日)0000-01-01 ~ 9999-12-31

TIMESTAMP

支持

时间戳类型
毫秒(内表)/
微秒(外表)

0000-01-01 00:00:00.000 ~
9999-12-31 23.59:59.999

STRING支持字符串8MB
BINARY支持二进制数据类型8MB
BOOLEAN支持布尔类型True/False

4 数据同步任务开发

4.1 数据源注册

新建数据源操作详见配置数据源,以下为您介绍 LAS 数据源配置相关信息:

说明

参数配置的 AK\SK 信息,需确保要有 LAS Schema 的 read、write 或 Developer(同时拥有读写)权限,方能执行同步任务。

参数说明
基本配置
数据源类型LAS
接入方式火山引擎 LAS
数据源名称数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。
描述对当前新建数据源的注释说明,便于后续管理。
参数配置

LAS Schema

已创建成功的 LAS 库名称信息。
若还未创建相应 LAS 库,您可前往数据地图LAS 控制台创建。

Accesskey ID进入火山引擎,访问控制台的 密钥管理界面,复制 Accesskey ID 填写到此处。如果为子用户,请联系主账号获取密钥。
Accesskey Secret与 AccessKey ID 配套使用,类似登录密码,用于签名您的访问参数,以防被篡改。

4.2 新建任务

LAS 数据源测试连通性成功后,进入到数据开发界面,开始新建 LAS 相关通道任务。
新建任务方式详见离线数据同步流式数据同步

4.3 可视化配置说明

任务创建成功后,您可根据实际场景,配置 LAS 批式读、LAS 批式写、LAS 流式写等通道任务。

4.3.1 LAS 批式读

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

参数说明
*目标类型数据去向目标类型选择 LAS。

*数据源名称

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

*数据表选择对应数据源 Schema 下所需要采集的数据表信息,下拉可选。

*分区设置

  • 分区字段从 LAS 表自动获取。

  • 分区内容可设置具体时间分区粒度,可以用表达式:${date}、${hour} 等参数变量表示。

4.3.2 LAS 批式写

LAS 批式写目标端配置与批示读端配置一致,详见上方读端配置说明

4.3.3 LAS 流式写

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

参数
说明
*目标类型数据去向目标类型选择 LAS。

*数据源名称

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

*数据表

选择对应数据源 Schema 下所需要写入的数据表信息,下拉可选。

  • 快速建表:若目标 LAS 表还未创建,您可单击快速建表按钮,前往数据地图界面,依据源端采集的字段信息,进行 LAS 表的创建。

  • 修改数据表:若源端采集的字段存在更新情况时,您可单击修改数据表按钮,及时对目标表字段进行快速修改。

*分区频率

支持选择天级或小时级的分区频率:

  • 天级:每天产出一次分区

  • 小时级:每小时产出一次分区

说明

数据跟随 LAS 分区生成的时间产出,并非实时写入。

*分区设置

  • 分区字段从 LAS 表自动获取。

  • 分区内容可设置具体时间分区粒度,可以用表达式:${date}、${hour} 等参数变量表示。

4.3.4 字段映射

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

  • 自动添加:单击自动添加按钮,根据两端数据表信息,可以自动填充来源和目标的字段信息。

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

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

4.4 DSL 配置说明

LAS 数据源支持使用脚本模式(DSL)的方式进行配置。
在某些复杂场景下,或当数据源类型暂不支持可视化配置时,您可通过任务脚本的方式,按照统一的 Json 格式,编写 LAS Reader 和 LAS Writer 参数脚本代码,来运行数据集成任务。

4.4.1 进入 DSL 模式

进入 DSL 模式操作流程,可详见 MySQL 数据源-4.4.1 进入DSL 模式

4.4.2 LAS Reader

进入 DSL 模式编辑界面后,您可根据实际情况替换相应参数,LAS Reader 脚本示例如下:

{
    // [required] dsl version, suggest to use latest version
    "version": "0.2",
    // [required] exection mode, supoort streaming / batch now
    "type": "batch",
    // reader config
    "reader": {
        "type": "las_volc",
        "datasource_id": 13128,
        "parameter": {
            "partition": "date=20230222",
            "reader_parallelism_num": 2,
            "table_name": "source_table",
            "columns": [
                {
                    "name": "id",
                    "type": "string"
                }
            ]
        }
    },
    // writer config
    "writer": {
        ...
    },
    // common config
    "common": {
        ...
    }
}

Reader 参数说明,其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数:

参数名称参数含义
*typeReader type,默认固定值 las_volc
*datasource_id注册的 LAS 数据源 ID。可以在项目控制台 > 数据源管理界面中查找。
*table_name需要读取的 LAS 表名信息。
*partition需要读取的 LAS 表分区,支持用表达式:${date}、${hour} 等参数变量表示。

*columns

所配置的表中,需要同步的列名集合,使用 JSON 的数组描述字段信息。

  • 支持列裁剪:列可以挑选部分列进行导出。

  • 支持列换序:列可以不按照表 Schema 信息顺序进行导出。

  • column 必须显示指定同步的列集合,不允许为空。

reader_parallelism_num指定读取并发度

4.4.3 LAS Writer

根据实际情况替换 LAS Writer 相应参数,脚本示例如下:

{
    // [required] dsl version, suggest to use latest version
    "version": "0.2",
    // [required] exection mode, supoort streaming / batch now
    "type": "batch",
    // reader config
    "reader": {
        ...
    },
    // writer config
    "writer": {
        "type": "las",
        "datasource_id": 13128,
        "parameter": {
            "table_name": "target_table",
            "partition": "date=${date},city_temp='3'",
            "columns": [
                {
                    "name": "id",
                    "type": "string"
                }
            ],
            "job.writer.write_mode":"overwrite"
        }
    },
    // common config
    "common": {
        ...
    }
}

Writer 参数说明,其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数:

参数名称参数含义
*typewriter type, 默认固定值 las
*datasource_id注册的 LAS 数据源 ID。可以在项目控制台 > 数据源管理界面中查找。
*table_name需要写入的目标 LAS 表名信息。

*columns

所配置的表中需要同步的列名集合,使用 JSON 的数组描述字段信息。

  • 支持列裁剪:列可以挑选部分列进行导出。

  • 支持列换序:列可以不按照表 Schema 信息顺序进行导出。

注意

  • column 必须显示指定同步的列集合,不允许为空。

  • column 必须与导入的源端列集合对齐,不允许多列或少列。

*partition填写数据写入的分区信息,支持用表达式:${date}、${hour} 等参数变量表示。
batch_size每次 flush 写入的条数,默认1024
writer_parallelism_num指定写入并发度
job.writer.write_mode指定数据写入 LAS 的模式,支持 insert into、overwrite 方式写入,默认为 overwrite 写入方式。

5 高级参数说明

  • 对于可视化通道任务,读参数需要加上 job.reader. 前缀,写参数需要加上 job.writer. 前缀,如下图所示:

  • 对于 DSL 任务,读参数请配置到 reader.parameter 下,写参数请配置到 writer.parameter 下,直接输入参数名称和参数值。如下图所示:

  • 批式写 LAS 支持以下高级参数,您可根据实际情况进行配置:

    参数名描述默认值

    ob.writer.write_mode

    LAS 的数据写入模式,写入方式支持 insert、overwrite。

    注意

    写入模式仅对批式写入 LAS 有效。

    overwrite