![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
SUISUIZHIBO
忍,忍到春暖花开
走,走到灯火通明
展开
-
Spark自学之路(一)——Spark简介
SparkSpark简介 最初由美国加州伯克利大学的AMP实验室于2009年开发,是基于内存计算的大数据计算框架,可用于构建大型,低延迟的数据分析应用程序 2014年打破了hadoop保持的基准排序记录Spark具有以下特点:运行速度快:使用DAG执行引擎以支持循环数据流与内存计算 容易使用:支持使用scala,java,python和R语言进行编程,可以通过spark shel...原创 2018-11-16 09:07:38 · 2415 阅读 · 0 评论 -
Spark自学之路(十三)——Spark 机器学习库
Spark 机器学习库MLlibSpark提供了一个基于海量数据的机器学习库,它提供了常用机器学习算法的分布式实现 开发者只需要有 Spark 基础并且了解机器学习算法的原理,以及方法相关参数的含义,就可以轻松的通过调用相应的 API 来实现基于海量数据的机器学习过程 Spark-Shell的即席查询也是一个关键。算法工程师可以边写代码边运行,边看结果 MLlib是Spark的机器学习(...转载 2018-11-26 19:08:00 · 9616 阅读 · 2 评论 -
Spark自学之路(七)——数据分区
数据分区 对数据集在节点间的分区控制。在分布式程序中,网络的通信代价是很大的,因此控制数据分布以获得最少的网络传输可以极大地提升整体性能,Spark可以控制RDD分区来减少网络通信开销。分区并不是对所有的应用都有好处,如果RDD只被扫描一次,没有分区的必要。只有数据集多次在注入连接这种基于键的操作中使用时,分区才会有帮助。 Spark中所有的键值对RDD都可以进行分...原创 2018-11-20 11:09:20 · 198 阅读 · 0 评论 -
Spark自学之路(六)——PairRDD(键值对RDD)
PairRDDpairRDD是很多程序的构成要素,因为他们提供了一些并行操作各个键或跨节点重新进行数据分组的操作接口。下面,先给出一个WordCount.pyfrom pyspark import SparkContextsc = SparkContext( 'local[*]', 'test')lines = sc.textFile("hdfs://Master:9000/RE...原创 2018-11-20 09:18:14 · 3993 阅读 · 0 评论 -
Spark自学之路(五)—— RDD常见的转化操作和行动操作
基本的RDD1:针对各个元素的转化操作最常用的map()和filter():map()函数接收一个函数,把这个函数用于RDD的每个元素,将函数的返回结果作为结果RDD中对应元素的值。filter()接收一个函数,并将RDD中满足该函数的元素放入新的RDD中返回。计算RDD中各值的平方from pyspark import SparkContextsc = SparkContex...原创 2018-11-19 19:02:24 · 989 阅读 · 0 评论 -
Spark自学之路(十一)——RDD转换到DataFrames
RDD转换到DataFramesSparkSQL有两种方法将存在的RDDS转变到DataFrames。第一种方法:使用反射来推断包含特定类型对象的RDD的schema,这种基于反射的方法可以提供更简洁的代码,并且在您编写Spark应用程序时已经了解schema时可以很好地工作。第二种方法:使用编程接口,构造一个schema并将其应用在已知的RDD上。利用反射机制推断schemaSp...原创 2018-11-22 10:56:22 · 359 阅读 · 0 评论 -
RDD,DataFrames和Dataset大讨论
如何理解spark中RDD和DataFrame的结构?RDD DataFrame DataSet 区别和转换RDD,DataFrame与DataSet区别 后续用到有自己的体会再更。。。。。。原创 2018-11-22 10:01:43 · 199 阅读 · 0 评论 -
Spark自学之路(十)——SparkSession,创建DataFrames,无类型数据集操作(又名DataFrame操作),以编程方式运行SQL查询 和 全局临时视图,创建Datasets
SparkSessionSpark中所有功能的入口点是SparkSession类。 要创建基本的SparkSession,只需使用SparkSession.builder:from pyspark.sql import SparkSessionspark = SparkSession \ .builder \ .appName("Python Spark SQL ba...翻译 2018-11-21 19:38:43 · 967 阅读 · 0 评论 -
Spark自学之路(九)——Spark SQL,DataFrames 和 Datasets
Spark SQL,DataFrames 和 DatasetsSpark SQL是用于结构化数据处理的Spark模块。 与基本的Spark RDD API不同,Spark SQL提供的接口为Spark提供了有关数据结构和正在执行的计算的更多信息。 在内部,Spark SQL使用此额外信息来执行额外的优化。 有几种与Spark SQL交互的方法,包括SQL和Dataset API。 在计算结果时...翻译 2018-11-21 16:10:58 · 618 阅读 · 0 评论 -
Spark自学之路(四)——RDD编程
RDD编程Spark针对RDD的操作包括创建RDD,转换操作(返回RDD),行动操作(返回结果)RDD创建1:sc.parallelize(),需要把整个数据集加载到放在一台机器的内存中,多用于开发和原型测试2:sc.textFile(),更常用的是从外部数据集的读取从文件系统中加载数据创建RDDtextFile(),该方法把文件的URI作为参数,这个URI可以是本地文件系统...原创 2018-11-19 11:14:22 · 467 阅读 · 0 评论 -
Spark自学之路(三)——在集群上运行Spark
集群管理器Spark可以运行在各种集群管理器上,并通过集群管理器访问集群中的机器。1.standalone模式与MapReduce1.0框架类似,Spark框架本身也自带了完整的资源调度管理服务,可以独立部署到一个集群中,而不需要依赖其他系统来为其提供资源管理调度服务。在架构的设计上,Spark与MapReduce1.0完全一致,都是由一个Master和若干个Slave构成,并且以槽(s...原创 2018-11-19 10:35:45 · 311 阅读 · 0 评论 -
Spark自学之路(八)——共享变量
共享变量通常在向Spark传递函数时,比如使用map()函数或者用filter()传条件时,可以使用驱动器程序中定义的变量,但是在集群中运行的每个任务都会得到这些变量的一份新的副本,更新这些副本的值不会影响驱动器中的对应变量。Spark的两个共享变量,累加器与广播变量,分别为结果聚合与广播这两种常见的通信模式突破了这一限制。累加器提供了将工作节点中的值聚合到驱动器程序中的简单语法。...原创 2018-11-21 11:28:13 · 283 阅读 · 0 评论 -
Spark自学之路(二)——Spark分布式环境搭建
Spark 下载Spark集群的搭建是建立在Hadoop分布式环境的基础上,如未搭建Hadoop环境,请参考第一篇和第二篇文章。链接:http://spark.apache.org/downloads.html按照如下配置下载(或者根据自己的情况):Spark 安装 sudo tar -zxf ~/下载/spark-2.0.2-bin-without-hadoop.tg...原创 2018-11-05 10:02:09 · 402 阅读 · 0 评论 -
Spark自学之路(十四)——Spark流计算
流计算处理过程传统的数据处理流程,需要先采集数据并存储在关系数据库等数据管理系统中,之后由用户通过查询操作和数据管理系统进行交互传统的数据处理流程隐含了两个前提: 存储的数据是旧的。存储的静态数据是过去某一时刻的快照,这些数据在查询时可能已不具备时效性了 需要用户主动发出查询来获取结果流计算的处理流程一般包含三个阶段:数据实时采集、数据实时计算、实时查询服务...原创 2018-11-27 19:59:33 · 2248 阅读 · 0 评论