您可以通过Elasticsearch的实时写入能力,构建实时数仓。

前提条件

配置Elasticsearch输出节点前,您需要先配置好相应的输入或转换数据源,详情请参见实时同步支持的数据源

操作步骤

  1. 进入数据开发页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
  2. 鼠标悬停至新建图标,单击数据集成 > 实时同步
    您也可以展开目标业务流程,右键单击数据集成,选择新建 > 实时同步
  3. 新建节点对话框中,输入节点名称,并选择目标文件夹
    注意 节点名称必须是大小写字母、中文、数字、下划线(_)以及英文句号(.),且不能超过128个字符。
  4. 单击提交
  5. 在实时同步节点的编辑页面,单击输出 > Elasticsearch并拖拽至编辑面板,连线已配置好的输入或转换节点。
  6. 单击Elasticsearch节点,在节点配置对话框中,配置各项参数。
    es
    参数 描述
    数据源 选择已经配置好的Elasticsearch数据源,此处仅支持Elasticsearch数据源。

    如果您未配置数据源,请单击右侧的新建数据源,进入工作空间管理 > 数据源管理页面新建,详情请参见配置Elasticsearch数据源

    索引 选择当前数据源下需要同步的索引名称。
    您可以单击右侧的一键建索引新建索引,可以直接使用默认生成的索引信息进行新建索引,也可以修改索引名、索引类型、动态参数映射、分片数、副本数以及建索引的语句,然后进行建立索引。
    • 索引类型:在Elasticsearch7.x以上版本是没有的,5.x,6.x已经其他更低版本是支持索引类型的,可以自定义配置。
    • 动态映射状态:配置的是Elasticsearch索引根目录的参数dynamic的值,dynamic含义是Elasticsearch动态加字段,Elasticsearch做自动类型推导。
      • 版本低于7.10时,取值包括:truefalsestrict
      • 7.10以上版本时,取值包括:truefalsestrictruntime
      其中,
      • true表示可以被存储且被索引到。
      • false表示可以被存储但是不能被索引到
      • strict表示新的字段出现,抛异常,不存储
      • runtime表示新字段加入到运行时字段中,字段不会被索引。
      详情可参见dynamic
    • shard数量:shard数量代表索引分片,Elasticsearch可以把一个完整的索引分成多个分片,这样可以把一个大的索引拆分成多个,分布到不同的节点上,构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。详情可参见分片(shards)
    • replica数量:replica数量是shard的数据副本,负责容错,以及承担读请求负载。容量不够、数据不需要备份多份、写入性能不够的时候,replica默认就设成1。
    • 建索引语句:properties里面是字段的配置,可以自定义修改字段的类型。
    开启Elasticsearch分区 Elasticsearch的routing分区机制是否开启,routing是一个可变值,默认是文档的_id ,也可以设置成一个自定义的值。routing通过hash函数生成一个数字,根据主分片的数量取余最终获得文档所在分片的位置。
    主键设置 设置同步时Elasticsearch index上_id的取值方式。
    • 业务主键:将源头表中一个列作为主键。
    • 联合主键:将源头表中多个列合并起来作为主键。
    字段映射 设置源端和目标端字段的映射。同步任务会根据字段的映射关系同步数据
  7. 单击工具栏中的保存图标。