![](https://img-blog.csdnimg.cn/20190722171230576.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
大数据
一些大数据相关技术的整理
Rage范
这个作者很懒,什么都没留下…
展开
-
HBase
引言hbase是Apache组织开源的顶级项目distributed,scalable,big data store产品hbase是基于Hadoop的一个NoSQL产品 Colume类型的nosqlhbase是Google Big Table的开源实现hbase运行亿级数据查询是,效率可达到秒级,毫秒级 可在线处理实时处理Hbase存储的逻辑结构Hbase伪分布式环境的搭建1. l...原创 2019-07-24 16:46:31 · 152 阅读 · 0 评论 -
Spark性能优化
Spark性能优化概览Spark最大的优点,其实也是它最大的问题–基于内存的计算模型,Spark的计算本质是基于内存的,这导致它经常出现各种OOM(内存溢出)、文件丢失、task lost、内部异常等。所以Spark程序的性能可能因为集群中的任何因素出现瓶颈:CPU、网络带宽、或者是内存。如果内存能够容纳得下所有的数据,那么网络传输和通信可能导致性能出现瓶颈。但是如果内存比较紧张,不足以放下所有...原创 2019-07-19 21:52:39 · 220 阅读 · 0 评论 -
Kafka Streams
流计算一般流式计算会与批量计算相比较。在流式计算模型中,输入是持续的,可以认为在时间上是无界的,也就意味着,永远拿不到全量数据去做计算。同时,计算结果是持续输出的,也即计算结果在时间上也是无界的。流式计算一般对实时性要求较高,同时一般是先定义目标计算,然后数据到来之后将计算逻辑应用于数据。同时为了提高计算效率,往往尽可能采用增量计算代替全量计算。批量处理模型中,一般先有全量数据集,然后定义计算逻...原创 2019-07-10 22:04:38 · 439 阅读 · 0 评论 -
Kafka消息队列
Apache Kafka消息队列消息:系统间通信介质,存在形式多样化一般使用字节序列化、json、xml等队列:先进先出FIFO数据结构消息队列(Message Queue):可以用于系统间通讯的一个组件-middle ware(中间件),该组件可以用于做消息缓冲的中间件(持久化)解决一些 并发处理、数据库缓冲等实现对高并发的业务场景的削峰填谷。消息中间件还有:ActiveMQ-单机、Z...原创 2019-07-10 21:46:43 · 226 阅读 · 0 评论 -
Flume
搭建Flume运行环境解压安装包[root@CentOS ~]# tar -zxf apache-flume-1.9.0-bin.tar.gz -C /usr/配置文件结构# 声明组件信息<Agent>.sources = <Source1> <Source2><Agent>.sinks = <Sink1> <Sink...原创 2019-07-09 19:33:36 · 131 阅读 · 0 评论 -
Spark的load和save函数 以及jar包的解决
Load & save 函数MySQL集成(引入MySQL驱动jar)<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</versi...原创 2019-07-08 21:16:48 · 1125 阅读 · 0 评论 -
Spark standalone集群(及其外围系统)的构建
物理资源:CentOSA、CentOSB、CentOSC 64bit 内存2GCentOSA:Zookepper、NameNode、DataNode、journalnode、zkfc、master(spark)、Worker(Spark)、KafkaCentOSB:Zookepper、NameNode、DataNode、journalnode、zkfc、master(spark)、Worke...原创 2019-07-08 20:42:27 · 150 阅读 · 0 评论 -
SparkSQL
SparkSQL概念Spark SQL是用于结构化数据处理的一个模块。同Spark RDD 不同地方在于Spark SQL的API可以给Spark计算引擎提供更多地信息,例如:数据结构、计算算子等。在内部Spark可以通过这些信息有针对对任务做优化和调整。这里有几种方式和Spark SQL进行交互,例如Dataset API和SQL等,这两种API可以混合使用。Spark SQL的一个用途是执行...原创 2019-07-05 20:52:55 · 216 阅读 · 0 评论 -
Spark Streaming
什么是Spark StreamingSpark Streaming 是Spark Core的扩展,可以实现实时数据流的可扩展,高吞吐,容错流处理。数据来源有很多(如Kafka、Flume、Kinesis、TCP套接字)中获取,并且可以使用以高级函数(map、reduce、join和window)表示的复杂算法进行处理。最后,处理后的数据可以推送到文件系统、数据库和实施dashboards。S...原创 2019-07-03 21:19:11 · 141 阅读 · 0 评论 -
Spark算子、共享变量
RDD转换算子map(function)传入的集合元素进行RDD[T]转换 def map(f: T => U): org.apache.spark.rdd.RDD[U]scala> sc.parallelize(List(1,2,3,4,5),3).map(item => item*2+" " )res1: org.apache.spark.rdd.RDD[Strin...原创 2019-07-02 19:39:10 · 472 阅读 · 0 评论 -
Spark RDD详解和容错机制
RDD详解Spark计算中一个重要的概念就是可以跨越多个节点的可伸缩分布式数据集RDD(resilient distributed dataset)Spark的内存计算核心就是RDD的并行计算。RDD就是一个分布式、不可变、带有分区的弹性的数据集合。所谓的Spark批处理,实际上就是对RDD的集合操作,RDD有以下特点:任意一个RDD都包含分区数(决定程序某个阶段计算并行度)RDD的分布式...原创 2019-07-01 20:03:57 · 1196 阅读 · 0 评论 -
Spark工作原理及相关内核架构
Spark基本工作原理Spark于Mapreduce的最大不同在于Spark是迭代式计算模型:Map Reduce分为两个阶段,map和reduce。两个阶段完了,就结束了,所以我们在一个job里能做的处理很有限,只能在map和reduce里处理。Spark计算模型,可以分为n个阶段,因为他是内存迭代式的。我们在处理完一个阶段以后,可以继续往下处理很多个阶段,所以Spark相较于MapRe...原创 2019-06-30 16:31:20 · 166 阅读 · 0 评论 -
Spark Standalone和Spark on Yarn环境的搭建
Standalone(使用版本:spark-2.4.3,jdk1.8+,hadoop-2.9.2)Hadoop环境设置CentOS进程数和文件数(重启生效)[root@CentOS ~]# vi /etc/security/limits.conf* soft nofile 204800* hard nofile 204800* soft nproc 204800* hard np...原创 2019-06-30 11:32:32 · 438 阅读 · 0 评论 -
Scala集合常用算子
排序sorteddef sorted[B >: Int](implicit ord: scala.math.Ordering[B]): Array[Int]scala> var array=Array(1,2,4,5,3)array: Array[Int] = Array(1, 2, 4, 5, 3)scala> list.sortedres4: List[Int...原创 2019-06-27 16:33:14 · 1632 阅读 · 0 评论 -
Scala的集合|数组
Java集合转换为Scalaimport java.util.ArrayListimport scala.collection.JavaConverters._val array = new ArrayList[Int]()array.add(1)array.add(2)array.add(3)array.add(4)//使用Java API实现累加val sum = arra...原创 2019-06-26 20:50:51 · 178 阅读 · 0 评论 -
Scala的隐式传值、隐式转换和Scala的泛型
隐式传值\隐式转换隐式值获取分别使用implicit和implicitly关键字声明隐式值和隐式注入等操作使用implicitly[类型],必须保证当前上下文有且仅有一个隐式值类型,一般这种隐式值变量的声明写在object单例类或者伴生对象中。 implicit var a:Int= 1 var b = implicitly[Int] print(b.toStri...原创 2019-06-26 19:21:51 · 270 阅读 · 0 评论 -
Scala的class、object及修饰符
单例类由于Scala没有静态方法和静态类,通过object去定义静态方法或静态对象。(对象是单例的)object User { def sayHello:(String)=>String = (name)=> "Hello ~"+name def sayHello1(name:String):String={ "Hello ~"+name }...原创 2019-06-25 20:33:20 · 337 阅读 · 0 评论 -
Scala基础和函数
简介Scala将面向对象和函数式编程结合在一个简洁的高级语言中。 Scala的静态类型有助于避免复杂应用程序中的错误,其JVM和JavaScript运行时可让你构建高性能系统,轻松访问庞大的库生态系统Scala的安装官网下载scala:https://www.scala-lang.org/Windows版本安装双击安装,无脑下一步配置环境变量SCALA_HOME=E:\scala...原创 2019-06-24 21:21:16 · 188 阅读 · 0 评论 -
Storm的StreamAPI
Stream API是Storm的另一种替代接口。它提供了一种用于表达流式计算的类型化API,并支持功能样式操作。快速入门StreamBuilder builder = new StreamBuilder();KafkaSpout<String, String> spout = KafkaSpoutUtils.buildKafkaSpout("CentOSA:9092,Cent...原创 2019-06-24 09:07:43 · 124 阅读 · 0 评论 -
Storm Trident
概述Trident是一个高级抽象,用于在Storm之上进行实时计算。它允许您无缝混合高吞吐量(每秒数百万条消息),有状态流处理和低延迟分布式查询。如果您熟悉Pig或Cascading等高级批处理工具,Trident的概念将非常熟悉 - Trident具有连接,聚合,分组,功能和过滤器。除此之外,Trident还添加了基元,用于在任何数据库或持久性存储之上执行有状态的增量处理。 Trident具有...原创 2019-06-22 14:01:27 · 157 阅读 · 0 评论 -
Storm架构和容错机制
Storm架构原理Storm核心组件概述Apache Storm提供了一种基于Topology流计算的概念,Topology等价于hadoop中的mapreduce计算,MapReduce极端最终会停止,Topology会一直运行,除非用户执行storm kill指令才会停止该计算。Storm的单个阶段每秒钟可以处理100万条数据/Tuple。Nimbus:负责资源分配和任务调。Sup...原创 2019-06-19 12:31:49 · 1998 阅读 · 1 评论