您可以通过Elasticsearch的实时写入能力,构建实时数仓。
前提条件
配置Elasticsearch输出节点前,您需要先配置好相应的输入或转换数据源,详情请参见实时同步支持的数据源。
使用限制
DataWorks平台目前仅支持配置阿里云Elasticsearch5.x、6.x、7.x版本数据源,不支持配置自建Elasticsearch数据源。
操作步骤
进入数据开发页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据开发。
鼠标悬停至图标,单击 。
您也可以展开业务流程,右键单击目标业务流程,选择
。在新建节点对话框中,选择同步方式为单表(Topic)到单表(Topic)ETL,输入名称,并选择路径。
重要节点名称必须是大小写字母、中文、数字、下划线(_)以及英文句号(.),且不能超过128个字符。
单击确认。
在实时同步节点的编辑页面,单击 并拖拽至编辑面板,连线已配置好的输入或转换节点。
单击Elasticsearch节点,在节点配置对话框中,配置各项参数。
参数
描述
数据源
选择已经配置好的Elasticsearch数据源,此处仅支持Elasticsearch数据源。
如果您未配置数据源,请单击右侧的新建数据源,进入配置Elasticsearch数据源。
页面新建,详情请参见索引
选择当前数据源下需要同步的索引名称。
您可以单击右侧的一键建索引新建索引,可以直接使用默认生成的索引信息进行新建索引,也可以修改索引名、索引类型、动态参数映射、分片数、副本数以及建索引的语句,然后进行建立索引。
索引类型:在Elasticsearch7.x以上版本是没有的,5.x,6.x以及其他更低版本是支持索引类型的,可以自定义配置。
动态映射状态:配置的是Elasticsearch索引根目录的参数dynamic的值,dynamic含义是Elasticsearch动态加字段,Elasticsearch做自动类型推导。
版本低于7.10时,取值包括:true、false、strict。
7.10以上版本时,取值包括:true、false、strict、runtime。
其中。
true表示可以被存储且被索引到。
false表示可以被存储但是不能被索引到
strict表示新的字段出现,抛异常,不存储
runtime表示新字段加入到运行时字段中,字段不会被索引。
详情可参见dynamic。
shard数量:shard数量代表索引分片,Elasticsearch可以把一个完整的索引分成多个分片,这样可以把一个大的索引拆分成多个,分布到不同的节点上,构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。详情可参见基本概念。
replica数量:replica数量是shard的数据副本,负责容错,以及承担读请求负载。容量不够、数据不需要备份多份、写入性能不够的时候,replica默认就设成1。
建索引语句:properties里面是字段的配置,可以自定义修改字段的类型。
开启Elasticsearch分区
Elasticsearch的routing分区机制是否开启,routing是一个可变值,默认是文档的_id ,也可以设置成一个自定义的值。routing通过hash函数生成一个数字,根据主分片的数量取余最终获得文档所在分片的位置。
主键设置
设置同步时Elasticsearch index上_id的取值方式。
业务主键:将源头表中一个列作为主键。
联合主键:将源头表中多个列合并起来作为主键。
说明选择_id主键取值方式,但却没有为该Elasticsearch主键映射源端字段,即选择业务主键取值方式但源端不存在主键,选择联合主键取值方式后未配置主键列,此时主键设置的取值方式不生效,同步时将随机生成_id值,此操作可能会带来数据重复问题。
字段映射
设置源端和目标端字段的映射,同步任务会根据字段的映射关系同步数据。
单击工具栏中的图标。