批量操作介绍 | 学习笔记

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

开发者学堂课程【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 )时,触发批量提交动作

相关文章
|
5月前
|
关系型数据库 MySQL 分布式数据库
PolarDB操作报错合集之在进行批量导出数据时,如何过滤掉视图并只导出表
在使用阿里云的PolarDB(包括PolarDB-X)时,用户可能会遇到各种操作报错。下面汇总了一些常见的报错情况及其可能的原因和解决办法:1.安装PolarDB-X报错、2.PolarDB安装后无法连接、3.PolarDB-X 使用rpm安装启动卡顿、4.PolarDB执行UPDATE/INSERT报错、5.DDL操作提示“Lock conflict”、6.数据集成时联通PolarDB报错、7.编译DN报错(RockyLinux)、8.CheckStorage报错(源数据库实例被删除)、9.嵌套事务错误(TDDL-4604)。
|
3月前
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之写入ODPS目的表时遇到脏数据报错,该怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4月前
|
SQL 分布式计算 DataWorks
MaxCompute操作报错合集之使用sql查询一个表的分区数据时遇到报错,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
4月前
|
DataWorks NoSQL MongoDB
DataWorks产品使用合集之在同步任务中遇到脏数据时,是否会将脏数据插入到数据表中
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之如何实现查询不存在分区的表时能够报错
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
5月前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之需要批量查询多个表,该怎么操作
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
41 1
|
5月前
|
分布式计算 DataWorks Oracle
DataWorks产品使用合集之从集成那批量建作业同步数据的,如何批量修改
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
48 0
|
5月前
|
SQL DataWorks 数据管理
DataWorks操作报错合集之开发环境中的节点在批量操作修改调度资源组后出现失败情况时,该如何操作
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
流计算
Dataphin V3.13 支持实时计算任务列表,快速批量操作
在一些场景中,常常需要支持通过筛选指定条件快速定位目标实时任务并进行批量操作,如:为了保证大促期间实时指标及时准确产出,在大促前需要找出一批相关的实时任务进行资源配置的调整,更高效利用可用计算资源,实现资源的动态分配和优化;当系统需要紧急响应某些情况(如故障恢复、资源冲突等)时,批量操作使得快速下线、替换或重启一组任务。 Dataphin V3.13版本中,新增实时计算任务列表,支持快速筛选任务和批量操作任务的功能,可以帮助更加高效地处理大量计算任务。
145 0
|
6月前
|
运维 BI 调度
新增离线集成任务列表,支持快速筛选任务并进行批量操作 【V3.13】
离线集成任务列表提供了一个展示集成任务详细信息的页面,便于查看集成任务的各类信息。同时还支持根据任务的各类属性进行筛选。还支持根据来源与目标数据源或数据表进行任务的查找与筛选。便于在一些业务变更的时候,能快速筛选到所有任务,进行查看或批量修改的操作,提高开发与运维的效率。
下一篇
无影云桌面