批量操作介绍 | 学习笔记

简介: 快速学习批量操作介绍

开发者学堂课程【ElasticSearch 入门精讲批量操作介绍学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/631/detail/9991


批量操作介绍


ES JavaAPI 批量操作介绍

Elasticsearch 的Bulk API 允许批量提交 index 和 delete 请求,

有如下两种用法:

用法1 :

BulkRequestBuilder requestBuilder = client.prepareBulk();

for(Person person : personList){

(String obj = getIndexDataFromHotspotData(person);

if(obj != null){

requestBuilder.add(client.prepareIndex("test-index' , ex,String.valueOf(person.getId()))setRefresh(true).setSource(obj));

用法2 :

BulkProcessor bulkProcessor = BulkProcessor.builder(client, new BulkProcessor.Listener(){

@Override

public void beforeBulk(long l, BulkRequest bulkRequest) {

}

@Override

public void afterBulk(long l, BulkRequest bulkRequest, BulkResponse bulkResponse) {

}

@Override

public void afterBulk(long l, BulkRequest bulkRequest, Throwable throwable) {

}

)).setBulkActions(10000).setBulkSize(new ByteSizeValue(1, ByteSizeUnit.GB)).setFlushInterval(TimeValue.timeValueSeconds(5)).build();

for(Person person : personList){

String obj = getIndexDataFromHotspotData(person);

if(obj != null){

bulkProcessor.add(new 

IndexRequest(“test-index” ," test",String.valueOf(person.getId())).source(obj));

beforeBulk 会在批量提交之前执行,可以从 BulkRequest 中获取请求信息request.requests()或者请求数量

request.numberOfActions()

第一个 afterBulk 会在批量成功后执行,可以跟 beforeBulk 配合计算批量所需时间

第二个 afterBulk 会在批量失败后执行

在例子中,当请求超过10000个( default= 1000 )或者总大小超过1GB ( default=5MB )时,触发批量提交动作

相关文章
|
4月前
|
分布式计算 DataWorks 大数据
DataWorks常见问题之如何批量删除临时查询文件
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
SQL 前端开发 JavaScript
eggjs 怎么实现获取账单列表接口并且实现列表数据分页查询功能?
eggjs 怎么实现获取账单列表接口并且实现列表数据分页查询功能?
180 0
eggjs 怎么实现获取账单列表接口并且实现列表数据分页查询功能?
|
2月前
|
SQL 分布式计算 DataWorks
MaxCompute操作报错合集之使用sql查询一个表的分区数据时遇到报错,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
2月前
|
缓存 弹性计算 DataWorks
DataWorks产品使用合集之如何批量删除临时查询文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
DataWorks NoSQL MongoDB
DataWorks产品使用合集之在同步任务中遇到脏数据时,是否会将脏数据插入到数据表中
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之如何实现查询不存在分区的表时能够报错
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
3月前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之需要批量查询多个表,该怎么操作
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
34 1
|
4月前
|
运维 BI 调度
新增离线集成任务列表,支持快速筛选任务并进行批量操作 【V3.13】
离线集成任务列表提供了一个展示集成任务详细信息的页面,便于查看集成任务的各类信息。同时还支持根据任务的各类属性进行筛选。还支持根据来源与目标数据源或数据表进行任务的查找与筛选。便于在一些业务变更的时候,能快速筛选到所有任务,进行查看或批量修改的操作,提高开发与运维的效率。
|
SQL 关系型数据库 MySQL
MySQL脚本命令数据简单增删改操作教程
MySQL脚本命令数据简单增删改操作教程
169 0