摘要:安装ElasticSearch 在安装ES之前,需要安装JDK。 从官网下载ES8.1压缩包,在服务器上解压,只部署一个节点用来演示。 [es@localhost home]$ ls -ltr 总用量 767132 -rw-r--r--. 1 root root 515805548 3月 21 11
阅读全文
摘要:倒排索引 作为全文搜索引擎,它不像RDBMS那样用like '%'去全表查找包含特定关键字的记录,而是使用倒排索引直接定位到哪些记录是符合要求的。 上图是一张倒排索引的图。正常情况下,我们去寻找一个词汇在书中出现的位置,必须把整本书所有章节阅读一遍才能知道哪些章节包含要找的词汇。倒排索引,是指在保存
阅读全文
摘要:ES跟前面的大数据技术不一样,它不是apache的项目,官网是开源搜索:Elasticsearch、ELK Elasticsearch 是什么 官方原话:Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。El
阅读全文
摘要:我懒得去在linux虚机上搭建集群版了,这种网上一搜一大堆。直接弄个localhost的,在IDEA上跑一跑吧。 使用flink的场景,一般都是处理无界流,服务一旦启动,就不关闭了。我们来模拟一个接受无限输入单词的wordcount。 pom文件的主要内容如下,关注标红的部分就行。 <propert
阅读全文
摘要:这一篇很难懂,我也不懂。 有状态流处理 虽然数据流中的许多操作一次只查看一个单独的事件(例如事件解析器),但有些操作会记住多个事件的信息(例如窗口操作符)。这些操作称为有状态的。 有状态操作的一些示例: 当应用程序搜索某些事件模式时,状态将存储到目前为止遇到的事件序列。 当聚合每分钟/小时/天的事件
阅读全文
摘要:Flink处理数据有三个环节,有一个数据源source,有中间的处理过程transform,最后要发送到一个目标地址sink。这个三步走的过程跟flume很像。这一篇我们来了解一下flink的架构。这一篇我直接从官网转过来,这玩意我也没用过,不熟悉。 Flink集群 Flink 运行时由两种类型的进
阅读全文
摘要:flink是什么 官网将flink高度概括为数据流上的有状态计算。Apache Flink 是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。 数据流 任何类型的数据都可以形成一种事件流。信用卡交易、传感器
阅读全文
摘要:Spark提供了DataFrame和DataSet API来处理批量数据,它们把数据转换成RDD,在内存中以迭代器的方式不落盘处理,所以效率很高。但它有一个弊端,就是不能准实时计算数据变化。 为了解决上述问题,Spark引入了Spark Stream来处理准流式数据。为啥说准流式呢?因为它本质上还是
阅读全文
摘要:先来看个例子。 准备一个json文件student.json,这不是一个标准的json格式。spark不支持原始的json,只能是一行一条记录。 {"name": "zhangsan", "age":20, "address": "beijing" } {"name": "lisi", "age":
阅读全文
摘要:DataFrame是spark1.3之后引入的分布式集合,DataSet是spark1.6之后引入的分布式集合。在spark2.0之后,DataFrame和DataSet的API统一了,DataFrame是DataSet的子集( type DataFrame = org.apache.spark.s
阅读全文
摘要:做大数据一定要有一个概念,需要处理的数据量非常大,少则几十T,多则上百P,全部放内存是不可能的,会OOM,必须要用迭代器一条一条处理。 RDD叫做弹性分布式数据集,是早期Spark最核心的概念,是一种数据集合,它的核心就是迭代器。 创建方式 有两种创建RDD的方式: 在驱动程序中并行化现有集合 引用
阅读全文
摘要:IDEA是一个优秀的Java IDE工具,它同样支持其他语言。Spark是用Scala语言编写的,用Scala开发Spark是最舒畅的。当然,Spark也提供Java和Python的API。 Java是一门热度很高的开发语言,也是一个高龄语言。Java本身很牛逼,但它最牛逼的地方是——成就了JVM。
阅读全文
摘要:在学Spark之前,我们再回顾一下MapReduce的知识,这对我们理解Spark大有裨益。 在大数据的技术分层中,Spark和MapReduce同为计算层的批处理技术,但是Spark比MapReduce要快很多。看看官网是怎么说的Apache Spark。 简介 Apache Spark是一个统一
阅读全文
摘要:本片介绍两方面内容,一方面是命令行操作,另一方面是Java调用API。 ZooKeeper集群环境的搭建在Hadoop集群搭建里已经讲过了,这里不再赘述,本篇内容基于zk3.5.8。 这里补充一点,除了前面提到的leader和follower之外,zk还有一种角色叫observer。可以这么理解,f
阅读全文
摘要:官网上已经给出了zk的几种典型应用场景,原话是这么说的: It exposes a simple set of primitives that distributed applications can build upon to implement higher level services for
阅读全文
摘要:这一篇我们对zookeeper的主要原理做一个简单介绍。zookeeper的核心原理是zookeeper atomic broadcast(ZAB协议),它来源于paxos协议。这里用通俗易懂的话,介绍一下paxos。 拜占庭将军问题 在介绍paxos协议之前,先来听一个故事:拜占庭将军问题。 拜占
阅读全文
摘要:ZooKeeper是什么 就像相声大师冯巩每次出场都说:“亲爱的观众朋友们,我想死你们啦”一样,我再强调一次,学习大数据官网很重要。Zookeeper官网看这里ZooKeeper ZooKeeper 是一个开源的分布式协调服务,它本身也是分布式设计。它提供了一组简单的原语,基于这些指令,分布式应用能
阅读全文
摘要:系统要求 Java1.8或以上 内存要足够大 硬盘足够大 Agent对源和目的要有读写权限 Flume部署 我这8G内存的电脑之前搭建Hadoop、Hive和HBase已经苟延残喘了,怀疑会卡死,硬着头皮上吧。先解压缩,大数据的这些产品都是一个部署套路。 我准备在server01上部署flume,单
阅读全文
摘要:老规矩,学习新东西先上官网瞅瞅Apache Flume Flume是什么 Flume是一个分布式、可靠的大规模高效日志收集、汇聚和传输的这么一个服务。它的架构基于流式数据,配置简单灵活。它具备可调节的可靠性机制和很多失败恢复机制,这让它具有健壮性和容错性。它采用简单可扩展的数据模型为在线分析应用提供
阅读全文
摘要:为啥要把表设计拿出来独立成章?因为我觉得像我这样搞了很多年Java后端开发的技术人员,在学习HBase的时候,会受到关系型数据库3NF、BCNF的影响。事实上,数据库范式在HBase里完全没用,必须转变思想。因此把这一点单独写出来,供类似情况的技术人员参考。 HBase逻辑视图 这个图看起来像是Ex
阅读全文