使用nifi将数据库数据上传到Elasticsearch

首先将数据库数据导出CSV文件,再将CSV文件转换成json格式文件
CSV在线转json地址:CSV在线转json
使用kibana在Elasticsearch中建立一个新的index
POST /company_basic/info/_mapping?pretty 其中company_basic为index名,info为type名。
使用nifi将数据库数据上传到Elasticsearch_第1张图片
在nifi中建立如下组件
使用nifi将数据库数据上传到Elasticsearch_第2张图片
其中GetFile配置如下
使用nifi将数据库数据上传到Elasticsearch_第3张图片
splitjson用于获取每一个json
使用nifi将数据库数据上传到Elasticsearch_第4张图片
Elasticsearch5的配置如下
使用nifi将数据库数据上传到Elasticsearch_第5张图片

其中踩雷的地方就是identifier Attribute 一开始写的是filename,因为上文提到过,就是随机找了一个key,但再次,行不通,因为3000条数据放进去之后只有一条数据。于是重新将split json 连到logAttribute
发现这里写图片描述fragment.index为2999故猜测fragment.index应为0—2999可以唯一标识每一个json段。
程序成功跑通,在kibana可视化页面可以成功看到3000条数据。但发现中文乱码,目前正在尝试解决,望有大神提点一二。

你可能感兴趣的:(nifi,elasticsearch)