1、 能力CAPACITY要求了解什么是Elasticsearch 。理解Elasticsearch的基本架构。掌握掌握Elasticsearch安装方法及基本的应用。 内容CONTENTS导航Elasticsearch单节点安装Elasticsearch简介插件Elasticsearch-head安装Elasticsearch的基本操作综合实战 一、Elasticsearch简介Elasticsearch简介Elasticsearch是一个开源的分布式搜索引擎,是基于Lucene构建的,具备高可靠性,支持时间时间索引和全文检索,支持非常多的企业级搜索用例。它对外提供一系列基于java和http的
2、api,用于索引、检索、修改大多数配置。(1)接近实时(NRT)。Elasticsearch是一个接近实时的搜索平台。(2)集群(cluster)。一个集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能。(3)节点(node)。一个节点是集群中的一个服务器,作为集群的一部分,它存储数据,参与集群的索引和搜索功能。(4)索引(index)。一个索引就是一个拥有几分相似特征的文档的集合。(5)类型(type)。在一个索引中,可以定义一种或多种类型。一个类型是索引的一个逻辑上的分类/分区。(6)文档(document)。一个文档是一个可被索引的基础信息单元。(7)分
3、片和复制(shards & replicas)。一个索引可以存储超出单个结点硬件限制的大量数据。 内容CONTENTS导航Elasticsearch简介插件Elasticsearch-head安装Elasticsearch的基本操作综合实战Elasticsearch单节点安装 二、Elasticsearch单节点安装环境要求Ubuntu 16.04 servers64、JDK 1.8.0下载并安装Elasticsearch从www.elasticsearch.org/download下载其二进制文件。解压后进入到bin目录下。./ elasticsearch默认情况下,Elasticsearc
4、h使用9200来提供对其REST API的访问。 内容CONTENTS导航Elasticsearch单节点安装Elasticsearch简介Elasticsearch的基本操作综合实战插件Elasticsearch-head安装 三、插件Elasticsearch-head安装Elasticsearch-head是一个Elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,可以通过插件把它集成到es。从http:/mobz.github.io/elasticsearch-head/下载head插件的zip包,把它解压到HOME_ELASTICSEARCH/plugin
5、s/head文件夹中即可。启动Elasticsearch服务,浏览器访问:localhost:9200/_plugin/head就可以看到如下图 内容CONTENTS导航Elasticsearch单节点安装插件Elasticsearch-head安装Elasticsearch简介综合实战Elasticsearch的基本操作 四、Elasticsearch的基本操作1.查看集群健康,需要事先记住的是,节点HTTP的端口是9200。curl localhost:9200/_cat/health?v2.查看集群中的节点列表curl localhost:9200/_cat/nodes?v绿色代表一切正
6、常(集群功能齐全),黄色意味着所有的数据都是可用的,但是某些复制没有被分配(集群功能齐全),红色则代表因为某些原因,某些数据不可用。注意,即使是集群状态是红色的,集群仍然是部分可用的,但是可能需要尽快修复它,因为有丢失的数据。 四、Elasticsearch的基本操作3.列出所有的索引 curl localhost:9200/_cat/indices?v这个结果意味着,在我们的集群中,没有任何索引。4.创建一个索引现在让我们创建一个叫做“customer”的索引,然后再列出所有的索引。curl -XPUT localhost:9200/customer?prettycurl localhost
7、:9200/_cat/indices?v第一个命令使用PUT创建了一个叫做“customer”的索引。我们简单地将pretty附加到调用的尾部,使其以美观的形式打印出JSON响应。 四、Elasticsearch的基本操作5.索引并查询一个文档现在放一些东西到customer索引中。为索引一个文档,必须告诉Elasticsearch这个文档要到这个索引的哪个类型(type)下。curl -XPUT localhost:9200/customer/external/1?pretty -d name: Yellow BL 有一个关键点需要注意,Elasticsearch在想将文档索引到某个索引的时
8、候,并不强制要求这个索引被显式地创建。在这个例子中,如果customer索引不存在,Elasticsearch将会自动地创建这个索引。 四、Elasticsearch的基本操作6.读取索引的文档 curl -XGET localhost:9200/customer/external/1?pretty7. 删除一个文档。curl -XDELETE localhost:9200/customer?prettycurl localhost:9200/_cat/indices?v 内容CONTENTS导航Elasticsearch单节点安装插件Elasticsearch-head安装Elasticse
9、arch的基本操作Elasticsearch简介综合实战 五、综合实战1.载入样本数据可以从https:/ curl -XPOST localhost:9200/bank/account/_bulk?pretty -data-binary accounts.json再执行命令查看索引。curl localhost:9200/_cat/indices?v2.使用head插件打开head插件管理页面,可以看到多了一个bank索引,如下图。单击Structured Query选项卡,在Search下来菜单中选择“bank”并单击“Search”按钮。这里将显示所有记录。 五、综合实战3.执行搜索现在
10、可以选择想要搜索的数据,单击“+”来增加搜索条件。搜索编号在100200以内,年龄为20岁的人。之后单击“Search”。确保左边为“must”,表示必须满足条件,其他也应和图中保持一致。 五、综合实战1.载入样本数据可以从https:/ curl -XPOST localhost:9200/bank/account/_bulk?pretty -data-binary accounts.json再执行命令查看索引。curl localhost:9200/_cat/indices?v2.使用head插件打开head插件管理页面,可以看到多了一个bank索引,如下图。 大数据技术与应用基础21世纪
11、高等院校“云计算和大数据”人才培养规划教材第14章 实例电商数据分析人民邮电出版社 能力CAPACITY要求熟悉用爬虫从网络获取数据进行预处理并导入到Hadoop。熟悉对数据进行统计挖掘分析。 内容CONTENTS导航分析方法与过程背景与挖掘目标 一、背景与挖掘目标本课对淘宝服饰的销量以及评价进行挖掘分析。 随着数据挖掘技术的发展和电子商务的普及,将数据挖掘技术应用到电子商务中可以解决电子商务中数据量庞大的问题,从而获得真正有价值的信息。通过分析电子商务应用数据挖掘的必要性和可行性。 内容CONTENTS导航背景与挖掘目标分析方法与过程 二、分析方法与过程本课对淘宝服饰的销量以及评价进行挖掘分
12、析。本次数据采集是通过爬虫对淘宝服饰的销量、评分、评价等数据进行爬取然后导入MySQL数据库,分为taobao(主表),haoping(好评),chaping(差评)三张表。先对三张表的废数据进行过滤,然后对haoping,chaping两张表的评价内容进行取样分词统计出关键字。然后再运用hive以关键字对总体数据的统计。 二、分析方法与过程数据收集数据收集的爬虫使用python的requests库编写,使用Beautifulsoup库和lxml库提取数据,在页面中定位数据使用的是Xpath。在爬取到的商品信息中找出这个商品的ID号码,根据商品号码和淘宝url的生成规律,生成可以获取商品评论的
13、url,使用python打开链接从而获取商品评论,按照事先写好的Xpath提取评论内容存入数据库。 二、分析方法与过程爬虫运行后爬取的部分数据。 二、分析方法与过程数据预处理这里要对数据进行除杂。对所抽取的样本数据进行探索、审核和必要的加工处理,是保证最终的挖掘模型的质量所必需的。此处以sql命令为例,删除的代码如下:DELETE from haoping where userkey in(SELECT userkey from taobaowhere state=8);state=8的数据是爬虫在采集时采集失败的废数据,设计删掉废数据。视数据量的大小和复杂度,可以把数据交给spark sql
14、或者自己编写 Map Reduce。 二、分析方法与过程导入数据到Hadoop现在Hadoop的版本还不能完美兼容MySQL,数据需要上传至Hadoop,这里我们用Hadoop下的Hive进行分析。1、从MySQL导入到HDFS首先启动Hadoop,然后启动Sqoop创建两个link,一个link是连接MySQL的,一个link是连接HDFS的。link创建完之后,创建一个job,并运行把MySQL的数据导入到HDFS。2、通过HDFS导入Hive,先进入到Hive创建相应的表的结构。通过命令导入进行导入:load data inpath /user/hadoop/taobao/aaa into table haoping;然后查看表中数据:select * from haoping 二、分析方法与过程数据取样分析要对数据中的关键字进行分析,首先就要进行分词,然后统计分词在数据中出现的频率来确定哪些是关键字。这里对好评差评各取300条,进行分词统计出关键字。用Hive通过关键字对数据进行统计分析,即可得出所需结论。 THANKS