DataX-ElasticSearch(写)
DataX写入ElasticSearch
1 快速介绍
数据导入elasticsearch的插件
2 实现原理
使用elasticsearch的rest api接口, 批量把从reader读入的数据写入elasticsearch
3功能说明
3.1配置样例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | { "job" : { "setting" : { "speed" : { "channel" : 1, "record" : -1, "byte" : -1 } }, "content" : [{ "reader" : { "name" : "mysqlreader" , "parameter" : { "username" : "root" , "password" : "1234qwer" , "column" : [ "id" , "name" ], "splitPk" : "id" , "connection" : [{ "table" : [ "datax_test" ], "jdbcUrl" : [ "jdbc:mysql://localhost:3306/test" ] }] } }, "writer" : { "name" : "elasticsearchwriter" , "parameter" : { "endpoint" : "http://localhost:9200" , "accessId" : "admin" , "accessKey" : "123456" , "index" : "test-datax" , "type" : "default" , "cleanup" : true , "settings" : { "index" : { "number_of_shards" : 1, "number_of_replicas" : 0 } }, "discovery" : false , "batchSize" : 1000, "splitter" : "," , "column" : [{ "name" : "id" , "type" : "id" }, { "name" : "name" , "type" : "string" } ] } } }] } } |
参数说明
• endpoint
• 描述:ElasticSearch的连接地址
• 必选:是
• 默认值:无
• accessId
• 描述:http auth中的user
• 必选:否
• 默认值:空
• accessKey
• 描述:http auth中的password
• 必选:否
• 默认值:空
• index
• 描述:elasticsearch中的index名
• 必选:是
• 默认值:无
• type
• 描述:elasticsearch中index的type名
• 必选:否
• 默认值:index名
• cleanup
• 描述:是否删除原表
• 必选:否
• 默认值:false
• batchSize
• 描述:每次批量数据的条数
• 必选:否
• 默认值:1000
• trySize
• 描述:失败后重试的次数
• 必选:否
• 默认值:30
• timeout
• 描述:客户端超时时间
• 必选:否
• 默认值:600000
• discovery
• 描述:启用节点发现将(轮询)并定期更新客户机中的服务器列表。
• 必选:否
• 默认值:false
• compression
• 描述:http请求,开启压缩
• 必选:否
• 默认值:true
• multiThread
• 描述:http请求,是否有多线程
• 必选:否
• 默认值:true
• ignoreWriteError
• 描述:忽略写入错误,不重试,继续写入
• 必选:否
• 默认值:false
• ignoreParseError
• 描述:忽略解析数据格式错误,继续写入
• 必选:否
• 默认值:true
• alias
• 描述:数据导入完成后写入别名
• 必选:否
• 默认值:无
• aliasMode
• 描述:数据导入完成后增加别名的模式,append(增加模式), exclusive(只留这一个)
• 必选:否
• 默认值:append
• settings
• 描述:创建index时候的settings, 与elasticsearch官方相同
• 必选:否
• 默认值:无
• splitter
• 描述:如果插入数据是array,就使用指定分隔符
• 必选:否
• 默认值:-,-
• column
• 描述:elasticsearch所支持的字段类型,样例中包含了全部
• 必选:是
• dynamic
• 描述: 不使用datax的mappings,使用es自己的自动mappings
• 必选: 否
• 默认值: false
执行
1 | ./datax.py /Users/FengZhen/Desktop/Hadoop/dataX/json/ES/1.write2ES.json |
看结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | FengZhendeMacBook-Pro:bin FengZhen$ curl -XGET 'http://localhost:9200/test-datax/default/_search?pretty' { "took" : 16, "timed_out" : false , "_shards" : { "total" : 1, "successful" : 1, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 2, "max_score" : 1.0, "hits" : [ { "_index" : "test-datax" , "_type" : "default" , "_id" : "1" , "_score" : 1.0, "_source" : { "name" : "fz" } }, { "_index" : "test-datax" , "_type" : "default" , "_id" : "2" , "_score" : 1.0, "_source" : { "name" : "dx" } } ] } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示