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

配置 LAS 数据源

最近更新时间2024.04.11 10:47:40

首次发布时间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

Array

支持

数组类型

8 MB

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 视图形式。

*分区设置

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

4.3.2 LAS 批式写

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

4.3.3 LAS 流式写

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

参数

说明

*目标类型

数据去向目标类型选择 LAS。

*数据源名称

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

*数据表

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

  • 快速建表:若目标 LAS 表还未创建,您可单击快速建表按钮,前往数据地图界面,依据源端采集的字段信息,进行 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 参数说明,其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数:

参数名称

参数含义

*type

Reader 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 参数说明,其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数:

参数名称

参数含义

*type

writer 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