当前位置: 首页 > ds >正文

kettle从入门到精通 第九十六课 ETL之kettle Elasticsearch 增删改查彻底掌握

场景:

 群里有小伙伴咨询kettle从Elasticsearch中抽取数据,群里老师们纷纷响应,vip小伙伴是不是有中受宠若惊的感觉。

今天我们使用kettle通过es的原生rest接口来进行操作es,开整。

前提:本篇文章基于elasticsearch:7.17.9版本进行测试,在 Elasticsearch 7.x 及以上版本中,_doc 不能自定义。在 Elasticsearch 6.x 及之前的版本中,一个索引里可以有多个文档类型(类似于 MySQL 中一个数据库里有多个表),文档类型可以自定义。

1、创建es索引

创建一个索引,名字为xiaojingang,如下所示

PUT http://127.0.0.1:9200/xiaojingang
{"settings": {"number_of_shards": 1,"number_of_replicas": 0}
}

 2、删除es索引

删除es索引xiaojingang,如下图所示:

DELETE http://127.0.0.1:9200/xiaojingang

 3、写入文档

POST http://localhost:9200/xiaojingang/_doc/1
{"name": "Java小金刚","content": "一个专门用来学习和交流kettle的公众号"
}

4、查询文档

GET http://localhost:9200/xiaojingang/_search
{"query": {"match": {"name": "小金刚"}}
}

5、更新文档 

POST http://localhost:9200/xiaojingang/_update/1
{"doc": {"name": "Java大金刚","content": "这是更新后的示例文章内容。"}
}

 重新读取

 6、删除文档

DELETE http://localhost:9200/xiaojingang/_doc/1

 重新读取

 7、分页读取,使用 Scroll API

Scroll API 适用于需要处理大量数据的场景,它通过创建一个快照来避免每次请求都进行排序和合并操作。

 请求示例:

# 初始化 scroll 请求
curl -X GET "localhost:9200/my_index/_search?scroll=1m" -H 'Content-Type: application/json' -d'
{"query": {"match_all": {}},"size": 10
}
'

上述请求中,scroll=1m 表示这个快照的有效期为 1 分钟,size=10 表示每次返回 10 个文档。响应中会包含一个 _scroll_id,用于后续的滚动请求。

# 后续的滚动请求
curl -X GET "localhost:9200/_search/scroll" -H 'Content-Type: application/json' -d'
{"scroll": "1m","scroll_id": "your_scroll_id"
}
'

http://www.xdnf.cn/news/4592.html

相关文章:

  • C++GO语言socket套接字
  • Go语言——for循环、包构建以及包冲突
  • 怎样避免住宅IP被平台识别
  • Prompt Engineering 提示词工程学习
  • 【iscsi】服务器重启找不到iscsi的磁盘,导致磁盘挂载失败
  • uniapp 震动功能实现
  • 约瑟夫josephu问题
  • 企业数字化转型第二课:接受不完美(1/2)
  • MCP相关标的梳理
  • ​​大疆无人机“指点飞行模式”​​(TapFly)
  • 居民健康监测小程序|基于微信小程序的居民健康监测小程序设计与实现(源码+数据库+文档)
  • RT Thread Studio创建软件和硬件RTC工程
  • WebGIS开发面试题:前端篇(三)
  • 深入理解Java反射机制
  • 基于Node.js的Web爬虫: 使用Axios和Cheerio抓取网页数据
  • 强化学习之蒙特卡洛树搜索和噪声网络
  • 精益数据分析(45/126):媒体网站商业模式的深度剖析与挑战应对
  • 【Python】字符串 转为 JSON 格式的注意事项
  • ASP.NET MVC4 技术单选及多选题目汇编
  • 策略优化基础网格搜索与参数优化
  • 交替序列长度的最大值
  • Feign 重试策略调整:优化微服务通信的稳定性
  • pod声明周期
  • 行业先锋:六款产品的实战表现
  • PageRank和TextRank
  • 源码分析之Leaflet中的LayerGroup
  • LLM :Function Call、MCP协议与A2A协议
  • 基于神经网络的 YOLOv8、MobileNet、HigherHRNet 姿态检测比较研究
  • uniapp-商城-43-shop 后台管理 页面
  • 音频相关基础知识