目录
01、ElasticSearch-学习总结
02、Springboot+ElasticSearch构建博客检索系统
01、将MySQL数据同步到ES中
02、SpringBoot集成ES
03、本周学习计划
第一次周会
大数据总监、搜狐四年-中国搜索
【mapReduce】sql
大数据代表:Hadoop、spark、es、flink
zookeeper、kafka、HBASE、
集群规模太大,会出现小数据量不会出现的问题。
高考项目:上千万数据量。学习大数据官方文档,解决方案...
软件版本太多了,版本变化非常多,兼容性问题。
需要沉淀!发挥趋势:大数据+人工智能、大数据+xxx...需求较多。
深入项目中去,把问题研究透,就业优势会大一些。
log存储到hdfs或es
es同步:id号、时间戳
es安装kopf插件
01、ElasticSearch-学习总结
- ElasticSearch-学习笔记01【ElasticSearch基本介绍】【day01】
- ElasticSearch-学习笔记02【ElasticSearch索引库维护】
- ElasticSearch-学习笔记03【ElasticSearch集群】
- ElasticSearch-学习笔记04【Java客户端操作索引库】【day02】
- ElasticSearch-学习笔记05【SpringDataElasticSearch】
上周主要学习了这些内容并实际动手练习了其中的部分内容::
- es基本概念、es的安装、es中head插件的安装及使用(完成图形化界面的效果、完成索引数据的查看);
- 使用postman与es进行交互,练习了GET、PUT、POST、Delete等索引方法的使用;
- ik分词器的安装及使用;
- es集群的概念、简单搭建了集群,设置了mappings并进行了简单的数据插入测试;
- 学习了使用Java客户端操作es索引库
能够使用java客户端完成创建、删除索引的操作
能够使用java客户端完成文档的增删改的操作
能够使用java客户端完成文档的查询操作
能够完成文档的分页操作
能够完成文档的高亮查询操作
能够搭建Spring Data ElasticSearch的环境
能够完成Spring Data ElasticSearch的基本增删改查操作
能够掌握基本条件查询的方法命名规则
- 使用springdata与es进行交互,学习了springdata创建索引与增删索引文档的内容。
- 导入Spring Data ElasticSearch坐标;
- 创建applicationContext.xml配置文件,引入elasticsearch命名空间;
- 编写实体Article;
- 编写Dao;
- 编写Service;
- 配置applicationContext.xml;
- 配置实体(基于spring data elasticsearch注解配置索引、映射和实体的关系);
- 创建测试类SpringDataESTest。
索引库查询_queryString查询
02、Springboot+ElasticSearch构建博客检索系统
视频地址:
- Springboot + ElasticSearch 构建博客检索系统-慕课网
博客笔记:
- Springboot+ElasticSearch构建博客检索系统-学习笔记01
- Springboot+ElasticSearch构建博客检索系统-学习笔记02
01、将MySQL数据同步到ES中
开发技术栈:
input {
jdbc {
# 指定jdbc驱动包位置(不同版本处理不同,此处可直接将mysql驱动包放置logstash-core/lib/jars下,无需配置jdbc_driver_library)
# "C:\\logstash-6.3.2\\mysql-connector-java-5.1.31.jar" /xxx/logstash-7.5.0/mysql-connector-java-5.1.31.jar
jdbc_driver_library => "F:\\logstash\\logstash-6.3.2\\mysql-connector-java-5.1.31.jar"
# 要使用的驱动包类,有过java开发经验的应该很熟悉这个了,不同的数据库调用的类不一样。
jdbc_driver_class => "com.mysql.jdbc.Driver"
# mysql数据库的连接信息
jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/blog"
# mysql用户
jdbc_user => "root"
# mysql密码
jdbc_password => "root"
# 定时任务,多久执行一次查询,默认一分钟,如果想要没有延迟,可以使用 schedule => "* * * * * *"
# 定时任务,默认一分钟,"* * * * *"代表设置为无延迟
schedule => "* * * * *"
# *清空存储在logstash的上一次的sql_last_value记录*
clean_run => true
# 要执行的语句
statement => "select * FROM t_blog WHERE update_time > :sql_last_value AND update_time < NOW() ORDER BY update_time desc"
}
}
output {
elasticsearch {
# es host : port
hosts => ["127.0.0.1:9200"]
# 索引
index => "blog"
# _id (取到mysql数据库记录的id)
document_id => "%{id}"
}
}
logstash -f ../config/mysql.conf
- -f:指定自己设置的配置文件
- config/mysql.conf:配置文件存储位置
使用kibana开发工具查看mysql数据是否成功同步到es中:
GET /blog/_stats
02、SpringBoot集成ES
SpringBoot框架内置Tomcat,使用idea时不需要再配置tomcat了。
RestStatusException{status=500} org.springframework.data.elasticsearch.RestStatusException: Elasticsearch exception [type=json_parse_exception, reason=Current token (VALUE_NUMBER_INT) not of boolean type
at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@4fcc28b8; line: 1, column: 137]]; nested exception is ElasticsearchStatusException[Elasticsearch exception [type=json_parse_exception, reason=Current token (VALUE_NUMBER_INT) not of boolean type
at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@4fcc28b8; line: 1, column: 137]]]
错误原因:当前最新版springboot 2.7.6相匹配的spring-boot-starter-data-elasticsearch支持的是elasticsearch 7.x.x版本,然而本门课程使用的是elasticsearch 6.3.2,解决方法:①升级elasticsearch到7.x.x版本;②使用过去的springboot版本,我尝试了2.2.0.RELEASE版本的springboot,这个错误就不再出现了,推荐此方法因为比较容易修改只需更新pom.xml。
03、本周学习计划
Hadoop