Elasticsearch数据源
Elasticsearch是一个基于Lucene的分布式搜索与分析引擎,常用于全文检索、日志分析、实时数据查询和大规模数据聚合。
华为云的云搜索服务(CSS)是一个基于Elasticsearch且完全托管的在线分布式搜索服务,CSS连接适用于将各类日志文件、数据库记录迁移到CSS,Elasticsearch引擎进行搜索和分析的场景。
本数据集成服务支持开源Elasticsearch产品,同时该数据源兼容华为云、云搜索服务CSS,提供稳定高效的数据集成能力。
使用前准备及限制
- 网络要求
Elasticsearch数据源必须与CDM网络进行通讯,以确保数据传输的顺畅性。详情请参见网络打通。
- 权限要求
- 华为云CSS服务权限要求:
- 读权限:数据集成服务需要从CSS读取集群信息,可在IAM授予CSS ReadOnlyAccess策略或自定义只读权限。该权限允许用户执行查询集群列表、查看集群详情、获取监控指标、查看快照信息等读取操作。
- 写权限:数据集成服务需要向CSS创建或变更集群资源,可在IAM授予CSS FullAccess策略或自定义读写权限。该权限涵盖读权限全部操作。
- 开源Elasticsearch权限要求:
- 读权限:数据集成服务仅需读取索引数据,可在Elasticsearch中授予read内置角色并绑定对应索引。
- 写权限:数据集成服务需要写入/更新/删除文档,可在Elasticsearch中授予write角色(或index角色)。
- 华为云CSS服务权限要求:
- 端口放通
Elasticsearch端口(9200):需放通TCP 9200供华为云数据集成服务访问。
支持的数据类型
|
类别 |
类型 |
读取是否支持 |
写入是否支持 |
|---|---|---|---|
|
字符 |
keyword |
√ |
√ |
|
text |
√ |
√ |
|
|
string |
√ |
√ |
|
|
整数 |
short |
√ |
√ |
|
integer |
√ |
√ |
|
|
long |
√ |
√ |
|
|
数值 |
double |
√ |
√ |
|
float |
√ |
√ |
|
|
布尔类型 |
boolean |
√ |
√ |
|
对象 |
object |
√ |
√ |
|
嵌套 |
nested |
√ |
√ |
|
日期 |
date |
√ |
√ |
|
特殊 |
ip |
√ |
√ |
|
数组 |
string_array |
√ |
√ |
|
short_array |
√ |
√ |
|
|
integer_array |
√ |
√ |
|
|
long_array |
√ |
√ |
|
|
float_array |
√ |
√ |
|
|
double_array |
√ |
√ |
|
|
范围 |
completion |
√ |
√ |
支持的迁移场景
数据集成离线同步支持以下三种同步方式,以满足不同数据迁移场景的需求:
- 单表同步
适用于数据入湖和数据上云场景下,表或文件级别的数据同步。支持的数据源类型请参考单表支持的数据源类型。
- 分库分表同步
适用于数据入湖和数据上云场景下,多库多表同步场景。支持的数据源类型请参考分库分表同步支持的数据源类型。
- 整库迁移
适用于数据入湖和数据上云场景下,离线或自建数据库整体同步场景。支持的数据源类型请参考整库同步支持的数据源类型。
需要注意的是,分库分表与整库迁移能力会根据不同region的上线支持情况有所不同,具体支持情况以页面为准。以下是针对Elasticsearch的支持迁移场景概览:
|
支持迁移场景 |
单表读取 |
单表写入 |
分库分表读取 |
分库分表写入 |
整库读取 |
整库写入 |
|---|---|---|---|---|---|---|
|
是否支持 |
√ |
√ |
x |
√ |
x |
x |
核心能力速览
- 连接配置
配置项
支持情况
说明
SSL支持
√
支持SSL加密,保障数据传输安全,暂不支持。
- 读取能力
配置项
支持情况
说明
增量读取
√
支持通过【过滤条件】配置,实现增量读取。
分片并发
x
3.x以上版本支持Shard分片能力,充分利用资源,提升读取性能。
自定义字段能力
√
可在任务级追加计算列、常量列或脱敏函数,满足个性化业务需求。
脏数据能力
√
支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败。
- 写入能力
配置项
支持情况
说明
导入前清空
√
支持导入前清空数据操作,可在数据导入前进行数据清洗和处理。
冲突解决
√
支持UPSERT/UPDATE/INDEX/CREATE四种写入操作,可灵活处理数据冲突。
并发写入
√
支持并发写入,提升写入效率。
攒批提交
√
支持配置【单次提交数】,攒批提交到服务端。
脏数据能力
√
支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败。
创建数据源
在DataArts Studio管理中心新建相应的数据源,详情请参见创建DataArts Studio数据连接。
创建数据集成离线作业
在DataArts Studio数据开发中新建Elasticsearch集成作业,详情请参见新建离线处理集成作业。