前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >​etl 读写 elastic 同步数据

​etl 读写 elastic 同步数据

原创
作者头像
威哥
发布2024-08-12 17:26:24
1040
发布2024-08-12 17:26:24

etl 读写 elastic 同步数据

Elasticsearch是什么

  • Elasticsearch一个基于Lucene的搜索服务器
  • 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口对外开放。
  • Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 说的直白一点,你可以用Elasticsearch在企业内部搭建出类似百度、谷歌之类的搜索服务器。

通过etl实现对elastic的读写操作

Elasticsearch的部署和使用不在这里介绍,这里主要介绍如何通过etl engine对elastic进行读写访问。

下面我们给出一个样本,实现从index为es_db3中的 elastic 读取数据,写入到index为es_db4的elastic中

elastic_to_elastic.grf 样本

代码语言:shell
复制
<?xml version="1.0" encoding="UTF-8"?>
<Graph>

   <!--elastic 到 elastic-->
 

    <Node id="ELASTIC_READER_01" dbConnection="CONNECT_01"   
	type="ELASTIC_READER" desc="节点2"  sourceFields="custom_type;username;desc;address" fetchSize="2" >
    <Script name="sqlScript"><![CDATA[
{
	  "query" : {
		   "bool":{
			  "must":[
				  //{
					// "term": { "username.keyword": "王先生"  }
				 //     "match": { "username": ""  }
				 //  },
				   {
					 "term":   {   "custom_type":"t_user_info"  }
				   }
			  ]

		   }
		}
	}
]]></Script>
      </Node>

     <Node id="ELASTIC_WRITER_01" dbConnection="CONNECT_02"   
	type="ELASTIC_WRITER" desc="节点2"  outputFields="custom_type;username;desc;address;_id" renameOutputFields="custom_type1;username1;desc1;address1;id1"
	idType="2" idExpress="id1">
      </Node>

  <Line id="LINE_01" type="STANDARD" from="ELASTIC_READER_01" to="ELASTIC_WRITER_01" order="0" metadata="METADATA_01">线标注</Line>

  <Metadata id="METADATA_01">
     <Field name="custom_type1" type="string" default="-1" nullable="false"/>
    <Field name="username1" type="string" default="-1" nullable="false"/>
    <Field name="desc1" type="string" default="-1" nullable="false"/>
    <Field name="address1" type="string" default="-1" nullable="false"/>
     <Field name="id1" type="string" default="-1" nullable="false"/>
  </Metadata>





    <Connection id="CONNECT_01" dbURL="http://127.0.0.1:9200" database="es_db3" username="elastic" password="123456" batchSize="1000" type="ELASTIC"/>
	<Connection id="CONNECT_02" dbURL="http://127.0.0.1:9200" database="es_db4" username="elastic" password="123456" batchSize="1000" type="ELASTIC"/>

</Graph>

节点使用说明

调用方式

etl_engine.exe -fileUrl elastic_to_elastic.grf

参考资料

https://github.com/hw2499/etl-engine

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Elasticsearch是什么
  • 通过etl实现对elastic的读写操作
  • elastic_to_elastic.grf 样本
  • 节点使用说明
  • 调用方式
  • 参考资料
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档