如何进行Spark数据分析


本篇文章给大家分享的是有关如何进行Spark数据分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、Spark数据分析导论1.Spark是一个用来实现快速而通用的集群计算的平台,扩展了MapReduce计算模型,支持更多计算模式,包括交互式查询和流处理2.包括Spark Core、Spark SQL、Spark Streaming(内存流式计算)、MLlib(机器学习)、GraphX(图计算)3.适用于数据科学应用和数据处理应用二、Spark下载与入门1.Spark应用都由一个驱动器程序(driver program)来发起集群上的各种并行操作,驱动程序通过一个SparkContext对象来访问Spark,这个对象代表对计算集群的一个连接三、RDD编程1.RDD(Resilient Distributed Dataset,弹性分布式数据集),就是分布式的元素集合,在Spark中,对数据的所有操作就是创建RDD、转化RDD以及调用RDD操作进行求值2.工作方式:从外部数据创建出输入RDD使用诸如filter()这样的转化操作对RDD进行转化,以定义新的RDD告诉Spark对需要被征用的中间结果RDD执行persist()操作使用行动操作(例如count()和first()等)来触发一次并行计算,Spark会对计算进行优化后再执行3.RDD的转化操作都是惰性求值 的,在调用行动操作之前Spark不会开始计算4.常用转化操作:map()和filter()四、键值对操作1.pair RDD(键值对RDD),Spark提供了一些专有操作2.Spark程序可以通过控制RDD分区方式来减少通信开销,只有当数据集多次在诸如连接这种基于键的操作中使用时,分区才会有帮助3.在Java中使用partitioner()方法获取RDD的分区方式4.Spark的许多操作都引入了将数据根据键跨节点进行混洗的过程,这些操作都在分区中获益五、数据读取与保存1.将一个文本文件读取为RDD时,输入的每一行都会成为RDD的一个元素,也可以将多个完整文件一次性读取为一个pair RDD2.JSON数据是将数据作为 文本文件读取,然后使用JSON解析器对RDD中的值进行映射操作,在Java和Scala中也可以使用一个自定义 香港云主机Hadoop格式来操作JSON数据3.SequenceFile是由没有相对关系结构的键值对文件组成的常用Hadoop格式,有同步标记,Spark可以用它来定位到文件中的某个点,然后再与记录的边界对齐六、Spark编程进阶1.累加器:提供了将工作节点中的值聚合到驱动器程序中的简单语法,常用于调试时对作业执行过程中的事件进行计数2.广播变量:让程序高效地向所有工作节点发送一个较大的只读值,以供一个或多个Spark操作使用3.Spark的pipe()方法可以让我们使用任意一种语言实现Spark作业中的部分逻辑,只要能读写Unix标准流就行4.Spark的数值操作是通过流式算法实现的,允许以每次一个元素的方式构建出模型七、在集群上运行Spark1.在分布式环境下,Spark集群采用的是主/从结构,中央协调节点称为驱动器(Driver)节点,工作节点称为执行器(executor)节点,能过集群管理器(Cluster Manager)的外部服务在集群中的机器上启动Spark应用2.驱动器程序:把用户程序转为任务;为执行器节点调度任务3.使用bin/spark-submit部署4.可以使用其他集群管理器:Hadoop YARN和Apache Mesos等八、Spark调优与调试1.修改Spark应用的运行时配置选项,使用SparkConf类2.关键性性能考量:并行度、序列化格式、内存管理、硬件供给九、Spark SQL1.三大功能:可能从各种结构化数据源中读取数据不仅支持在Spark程序内使用SQL语句进行数据查询,也支持外部工具中通过标准数据库连接器(JDBC/ODBC)连接Spark SQL进行查询支持与常规的Python/Java/Scala代码高度整合,包括RDD与SQL表、公开的自定义SQL函数接口等2.提供了SchemaRDD,是存放Row对象的RDD,每个Row对象代表一行记录,可以利用结构信息更加高效地存储数据十、Spark Streaming1.Spark Streaming:允许用户使用一套和批处理非常接近的API来编写流式计算应用,这样就可以大量重用批处理应用的技术甚至代码2.Spark Streaming使用离散化流(discretized stream)作为抽象表示,叫做DStream,是随时间推移而收到的数据的序列十一、基于MLlib的机器学习1.MLlib:Spark中提供机器学习函数的库,专为在集群上并行运行的情况而设计,包含许多机器学习算法,把数据以RDD的形式表示,然后在分布式数据集上调用各种算法2.机器学习算法根据训练数据(training data)使得表示算法行为的数学目标最大化,并以此来进行预测或作出决定,解决问题包括分类、回归、聚类等以上就是如何进行Spark数据分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注开发云行业资讯频道。

相关推荐: Dubbo服务导出到本地的方法

本篇内容主要讲解“Dubbo服务导出到本地的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Dubbo服务导出到本地的方法”吧!这样,就走到了Dubbo暴露服务的入口的方法。这也是Dubbo官方文档中提及的入口方…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 09/08 11:33
Next 09/08 11:33

相关推荐