etl 读写 elastic 同步数据
Elasticsearch的部署和使用不在这里介绍,这里主要介绍如何通过etl engine对elastic进行读写访问。
下面我们给出一个样本,实现从index为es_db3中的 elastic 读取数据,写入到index为es_db4的elastic中
<?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
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。