随笔分类 - spark
摘要:0.介绍: (1)Spark SQL的前身是Shark,即Hive on Spark, 1.SparkSQL特点: (1)支持多种数据源:Hive,RDD,Parquet,JSON,JDBC等。 (2)多种性能优化技术:in-memory columnar storage,byte-code gen
阅读全文
摘要:一、shuffle操作 1.spark中特定的操作会触发我们都知道的shuffle事件,shuffle是spark进行数据重新分布的机制,这通常涉及跨执行程序和机器来赋值数据,使得混洗称为复杂而且昂贵的操作。 2.为了理解shuffle过程中所发生的事情,我们先来关注reduceByKey操作的例子
阅读全文
摘要:一、SPARK-CORE 1.spark核心模块是整个项目的基础。提供了分布式的任务分发,调度以及基本的IO功能,Spark使用基础的数据结构,叫做RDD(弹性分布式数据集),是一个逻辑的数据分区的集合,可以跨机器。RDD可以通过两种方式进行创建,一种是从外部的数据集引用数据,第二种方式是通过在现有
阅读全文
摘要:一、弹性分布式数据集 1.弹性分布式数据集(RDD)是spark数据结构的基础。它是一个不可变的分布式对象的集合,RDD中的每个数据集都被划分为一个个逻辑分区,每个分区可以在集群上的不同节点上进行计算。RDDs可以包含任何类型的Python,Java或者Scala对象,包括用户自定义的类。 2.正常
阅读全文
摘要:一、介绍 1.sparkStreaming是核心模块Spark API的扩展,具有可伸缩,高吞吐量以及容错的实时数据流处理等。数据可以从许多来源(如Kafka,Flume,Kinesis或TCP套接字)中获取。并且可以使用以高级函数表示的复杂算法进行处理map,例如reduce,join和windo
阅读全文
摘要:一、saprkSQL模块,使用类sql的方式访问Hadoop,实现mr计算,底层使用的是rdd 1.hive //hadoop mr sql 2.phenoix //hbase上构建sql的交互过程 该模块能在spark上运行sql语句 3.DataFrame //数据框,表 在spark中的数据框
阅读全文
摘要:在spark中最重要的功能之一是跨操作在内存中持久化数据集。当你持久化一个RDD的时候,每个节点都存放了一个它在内存中计算的一个分区,并在该数据集的其他操作中进行重用,持久化一个RDD的时候,节点上的每个分区都会保存到内存中,这使得将来的action更加的快。 缓存技术是迭代算法和交互式查询的重要工
阅读全文
摘要:一、数据倾斜 spark数据倾斜,map阶段对key进行重新划分。大量的数据在经过hash计算之后,进入到相同的分区中,zao
阅读全文
摘要:一、RDD变换 1.返回执行新的rdd的指针,在rdd之间创建依赖关系。每个rdd都有一个计算函数和指向父rdd的指针 Spark是惰性的,因此除非调用某个转换或动作,否则不会执行任何操作,否则将触发工作创建和执行。 2.map()是对每个元素进行变换,应用变换函数,返回的是一个新的分布式数据集,m
阅读全文
摘要:0.spark是基于hadoop的mr模型,扩展了MR,高效实用MR模型,内存型集群计算,提高了app处理速度。 1.特点:(1)在内存中存储中间结果 (2)支持多种语言:java scala python (3)内置了80多种算子 2.sparkCore模块(通用执行引擎) (1)通用的执行引擎,
阅读全文
摘要:1.[start-all.sh] 2.[start-master.sh]
阅读全文
摘要:在windows上实现wordcount单词统计 一、编写scala程序,引入spark类库,完成wordcount 1.sparkcontextAPI sparkcontext是spark功能的主要入口点,代表着到spark集群的连接,可用于在这些集群上创建RDD(弹性分布式数据集),累加器和广播
阅读全文
摘要:一、SparkStreaming 1.sparkcore模块的扩展,具有可扩展,高吞吐量,容错机制,针对实时数据流处理,数据可以来自于kafka,flume以及tcp套接字,可以使用更加复杂的函数来进行处理 如map reduce 和filter。数据可以推送到hdfs,mysql,针对数据流可以应
阅读全文
摘要:wordcount是spark入门级的demo,不难但是很有趣。接下来我用命令行、scala、Java和python这三种语言来实现单词统计。 一、使用命令行实现单词的统计 1.首先touch一个a.txt文本文件 2.加载文本:产生弹性分布式数据集,用sc.textFile()加载文本文件到内存中
阅读全文
摘要:之前工作的时候经常用,隔了段时间,现在学校要用学的东西也忘了,翻翻书谢谢博客吧。 1.什么是spark? Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目
阅读全文
摘要:学习spark,RDD是一个逃不过去的话题,那么接下来我们看看RDD 1.什么是RDD? RDD叫做弹性分布式数据集,是Spark中最基本的数据抽象,代表一个不可变、可分区、里面元素可以并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式
阅读全文
摘要:使用spark实现work count (1)用sc.textFile(" ") 来实现文件的加载 (2)元素拿来之后对集合中的每个元素进行切割,按照空格进行切割 def map[U](f:String=>U)(implict evidence$3:scala.reflect.ClassTag[u]
阅读全文
摘要:SparkSQL 该模块能在spark上运行sql语句 DataFrame //数据框,相当于mysql中的表 使用类似SQL的方式来访问hadoop,实现MR计算。RDD df = sc.createDataFrame(rdd); DataSet<Row> ==DataFrame >//类似于ta
阅读全文
摘要:0.spark transformation map filter repartition spark核心API [SparkContext] 连接到spark集群上的入口点 [HadoopRDD] 读取hadoop上的数据 [MapPartitionsRDD] 针对父RDD的每个分区提供了函数,构
阅读全文
摘要:1.spark模块 (1)Spark Core //核心库 (2)Spark SQL //核心库 (3)Spark Streaming //准实时计算 (4)Spark MLlib //机器学习库 (5)Spark graph //图计算 2.Spark集群的运行 1.local //本地模式 2.
阅读全文