Hadoop -- ES -- CURD
1.获取ES连接
package com.ciic.history.common; import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.transport.TransportAddress; import java.net.InetAddress;
import java.net.UnknownHostException; public class DaoUtilL { private static TransportClient clientL = null; private DaoUtilL(){}; public static TransportClient getClientL() {
try {
if (null != clientL) {
return clientL;
}
Settings settings = Settings.settingsBuilder().put("cluster.name", "search1")
.put("transport.tcp.compress", true).build();
InetSocketTransportAddress address1 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.249"), 9300);
InetSocketTransportAddress address2 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.250"), 9300);
InetSocketTransportAddress address3 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.251"), 9300);
InetSocketTransportAddress address4 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.252"), 9300);
TransportAddress[] addressArr = {address1, address2, address3, address4};
clientL = TransportClient.builder().settings(settings).build().addTransportAddresses(addressArr);
return clientL;
} catch (Exception e) {
return null;
}
}
}
2.CURD操作
@Override
public JsonEntity queryCustomerPreview(int page, int rows) {
TransportClient clientL = DaoUtilL.getClientL();
SearchRequestBuilder builder = clientL.prepareSearch();
builder.setIndices("esinner_limecustomerpreview_index").
setTypes("xian").
addSort("imscustomername", SortOrder.ASC).setFrom((page-1)*rows).setSize(rows); SearchResponse response = builder.get();
SearchHit[] searchHits = response.getHits().getHits();
ArrayList arrayList = new ArrayList();
for(int i = 0; i < searchHits.length; i++) {
arrayList.add(searchHits[i].getSource());
}
//查询总记录数total
SearchResponse totalResponse = clientL.prepareSearch()
.setIndices("esinner_limecustomerpreview_index")
.setSearchType(SearchType.COUNT).setSize(0).get();
long length = response.getHits().totalHits(); JsonEntity entity = new JsonEntity();
entity.setTotal(length);
entity.setRows(arrayList);
return entity;
}
-- -- -- -- -- --
@Override
public JsonEntity customerPreviewSearch(EsinnerLimeCustomerPreviewIndex customerPreview, int page, int rows) {
TransportClient clientL = DaoUtilL.getClientL();
SearchRequestBuilder searchRequestBuilder = clientL.prepareSearch();
searchRequestBuilder.setIndices("esinner_limecustomerpreview_index").
setTypes("xian").setSearchType(SearchType.DEFAULT).
setFrom((page-1)*rows).setSize(rows); BoolQueryBuilder builder = QueryBuilders.boolQuery(); boolean flag=true;
if(StringUtils.isNotBlank(customerPreview.getImscustomername())){
flag=false;
builder.must(QueryBuilders.termQuery("imscustomername",customerPreview.getImscustomername()));
}
if(StringUtils.isNotBlank(customerPreview.getImscustomercode())){
flag=false;
builder.must(QueryBuilders.matchQuery("imscustomercode",customerPreview.getImscustomercode()));
}
if(flag==true){
searchRequestBuilder.addSort("imscustomercode", SortOrder.ASC);
}
searchRequestBuilder.setQuery(builder); SearchResponse response = searchRequestBuilder.get();
SearchHit[] searchHits = response.getHits().getHits();
ArrayList arrayList = new ArrayList();
for(int i = 0; i < searchHits.length; i++) {
arrayList.add(searchHits[i].getSource());
} SearchResponse totalResponse = clientL.prepareSearch()
.setIndices("esinner_limecustomerpreview_index")
.setSearchType(SearchType.COUNT).setSize(0).get();
long length = response.getHits().totalHits();
JsonEntity entity = new JsonEntity(); entity.setTotal(length);
entity.setRows(arrayList); return entity;
}
-- -- -- -- -- --
3.返回数据
啦啦啦
Hadoop -- ES -- CURD的更多相关文章
- Elastic Stack 笔记(十)Elasticsearch5.6 For Hadoop
博客地址:http://www.moonxy.com 一.前言 ES-Hadoop 是连接快速查询和大数据分析的桥梁,它能够无间隙的在 Hadoop 和 ElasticSearch 上移动数据.ES ...
- mesos概述
mesos解决的问题 不同的分布式运算框架(spark,hadoop,ES,MPI,Cassandra,etc.)中的不同任务往往需要的资源(内存,CPU,网络IO等)不同,它们运行在同一个集群中,会 ...
- zabbix基本介绍
来源是 觅安教育 大家有兴趣可以去哔哩哔哩搜搜. Open-falcon是由小米公司开源 比如windows,linux,unix,openBSD,AIX,solaris,Mac等操作系统,都可以安装 ...
- 使用Observer实现HBase到Elasticsearch的数据同步
最近在公司做统一日志收集处理平台,技术选型肯定要选择elasticsearch,因为可以快速检索系统日志,日志问题排查及功业务链调用可以被快速检索,公司各个应用的日志有些字段比如说content是不需 ...
- FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) :
在hive命令行创建表时报错: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. ...
- es第十篇:Elasticsearch for Apache Hadoop
es for apache hadoop(elasticsearch-hadoop.jar)允许hadoop作业(mapreduce.hive.pig.cascading.spark)与es交互. A ...
- 基本环境安装: Centos7+Java+Hadoop+Spark+HBase+ES+Azkaban
1. 安装VM14的方法在 人工智能标签中的<跨平台踩的大坑有提到> 2. CentOS分区设置: /boot:1024M,标准分区格式创建. swap:4096M,标准分区格式创建. ...
- Hive创建表格报【Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException】引发的血案
在成功启动Hive之后感慨这次终于没有出现Bug了,满怀信心地打了长长的创建表格的命令,结果现实再一次给了我一棒,报了以下的错误Error, return code 1 from org.apache ...
- #研发解决方案介绍#基于ES的搜索+筛选+排序解决方案
郑昀 基于胡耀华和王超的设计文档 最后更新于2014/12/3 关键词:ElasticSearch.Lucene.solr.搜索.facet.高可用.可伸缩.mongodb.SearchHub.商品中 ...
随机推荐
- 碰到在Windows中访问局域网文件夹, 提示无法访问时的解决办法
运行:gpedit.msc 找到下图的位置, 启用即可
- 用oc写爬虫之HTMLParser
最近刚好有一些小需求,就尝试用OC来写一些简单的爬虫抓取网页上的数据: 发现了一个非常好用的HTMLParser工具 ; 语法是OC的,通过分析网页结构:可以很轻松的抓取需要的数据: 但是提前需要了解 ...
- angularjs drag and drop
angular-dragula Drag and drop so simple it hurts 480 live demo angular-drag-and-drop-lists Angular d ...
- Json解析包FastJson使用
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser. ...
- Mybatis3——使用学习(一)
目录 Mybatis Mybatis参考资源 Mybatis 使用 肯定TM要跑起来 XML映射配置文件 Mapper XML 文件 Mybatis Mybatis参考资源 Mybatis官网手册:h ...
- 各个屏幕的logo尺寸要求
DENSITY SIZE LOCATION RATIO SCREEN MARGIN XXXHDPI 192×192 drawable-xxxhdpi 4 640 DPI 12 to 16 pixels ...
- 2D空间中求线段与圆的交点
出处: https://answers.unity.com/questions/366802/get-intersection-of-a-line-and-a-circle.html 测试脚本(返回值 ...
- 物联网架构成长之路(22)-Docker练习之Etcd服务搭建
0. 前言 时隔多日,前段时间忙完一个可有可无的项目后,又进入摸鱼时间,没有办法,非互联网公司,就是闲得蛋疼.又开始了自学之路.以前入门过Docker,然后又很久没有看了,最近重新看了一下,推荐一下这 ...
- 开始逐步补充下相关Web知识,很多年没搞了....
<script type="text/javascript"> $(function(){ ShowProduct(); $("#ShowUserInfo&q ...
- pandas的qcut()方法
pandas的qcut可以把一组数字按大小区间进行分区,比如 data = pd.Series([0,8,1,5,3,7,2,6,10,4,9]) 比如我要把这组数据分成两部分,一半大的,一半小的,如 ...