![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记--Spark快速大数据分析
射手家的狮子
这个作者很懒,什么都没留下…
展开
-
第四章 键值对操作(一)
Spark 为包含键值对类型的RDD提供了一些专有的擦我做。这些RDD被称为pair RDD。在 Spark 中有很多种创建 pair RDD 的方式。第 5 章会讲到,很多存储键值对的数据格式会在读取时直接返回由其键值对数据组成的 pair RDD。此外,当需要把一个普通的 RDD 转为 pair RDD 时,可以调用 map() 函数来实现,传递的函数需要返回键值对。在 Scala 中使用第一个原创 2017-12-19 21:28:34 · 920 阅读 · 0 评论 -
第八章 Spark调优与调试
1、使用SparkConf配置Spark在Scala中使用SparkConf创建一个应用// 创建一个conf对象val conf = new SparkConf()conf.set("spark.app.name", "My Spark App")conf.set("spark.master", "local[4]")conf.set("spark.ui.port", "360.原创 2018-03-19 14:49:02 · 314 阅读 · 0 评论 -
第九章 Spark SQL
Spark SQL提供三大功能:1、可以从各种结构化数据源(例如JSON、Hive、Parquet等)中读取数据2、Spark SQL不仅支持在Spark程序内使用SQL语句进行数据查询,也支持外部工具链接SQL进行查询。3、支持SQL与常规python/java/scala代码高度整合,包括连接RDD与SQL表、公开的自定义SQL函数接口。SchemaRDD用来存放ROw...原创 2018-03-22 15:35:45 · 755 阅读 · 0 评论 -
第五章 数据读取与保存(二)
累加器//scala中累加空行val sc = new SparkContext(...)val file = sc.textFile("file.txt")val blankLines = sc.accumulator(0) // 创建Accumulator[Int]并初始化为0val callSigns = file.flatMap(line => {if (line ==原创 2018-01-19 17:46:21 · 225 阅读 · 0 评论 -
第五章 数据保存与读取(一)
spark常见数据源文件格式与文件系统1、spark支持本地文件系统以及分布式分拣系统(NFS、HDFS、Amazon S3等)2、spark支持多种不同文件格式,如文本文件、JSON、SequenceFile以及protocol buffer。 格式名称 结构化 备注 文本文件 否 普通的文本文件,每行一条记录 JSON 半结构化原创 2018-01-08 15:13:36 · 672 阅读 · 1 评论 -
第五章 数据读取与保存(二)
Hadoop输入输出格式1、读取其他Hadoop输入格式要使用新版的Hadoop API读入一个文件,需要告诉Spark一些东西,使用newAPIHadoopFile接受一个路径以及三个类。第一个类是输入格式。相似的函数hadoopFile()使用旧的API实验的Hadoop输入格式。第二个类是键的类最后一个类是值的类。如果需要设定额外的Hadoop配置属性,也可以传入一个co原创 2018-01-09 16:57:30 · 280 阅读 · 0 评论 -
第七章 在集群上运行Spark
Spark运行时框架在分布式环境下,Spark集群采用的是主/从结构。一个节点负责中央协调,该节点被称为驱动器(Driver)节点.与之对应的工作节点被称为执行器(executor)节点。驱动器节点可以和大量的执行器节点进行通信,他们也都作为独立的Java进程运行。驱动器 和所有的执行器被称为一个Spark应用Spark通过一个叫做做集群管理器的外部服务在急群众的机器上启动。Spa原创 2018-02-01 16:56:19 · 476 阅读 · 0 评论 -
第四章 键值对操作(二)
数据分区(进阶)在分布式程序中,通信的代价非常大,spark可以通过控制RDD分区方式来减少通信开销。如果数据只会被扫描一次,则没必要分区,若多次使用,分区才会有帮助。spark中所有的键值对RDD都可以进行分区。spark可以确保同一组的键出现在一个节点上。或者可以使用范围分区法,将键在同一个范围区间内的记录都放在同一节点上。scala自定义分区方式//通过哈希分区,可以减少有效减少数据混洗,直接原创 2017-12-22 19:22:52 · 328 阅读 · 0 评论 -
第三章 RDD编程
RDD 编程弹性分布式数据集(Resilient Distributed Dataset,简 称 RDD),每个RDD被分为多个分区,这些分区运行在多个不同节点上。RDD创建RDD创建有两种方式:1、读取外部数据来创建RDD,如lines = sc.textFile("README.md")2、通过parallelize()对一个集合进行并行化。RDD操作RDD操作包括:转化操作(transfor原创 2017-12-14 12:16:35 · 405 阅读 · 0 评论 -
第十章 Spark Streaming
需要应用需要即时处理收到的数据,例如训练机器学习模型的应用,自动检测异常的应用。Spark Streaming为这些应用而设计。允许用户使用一套和批处理非常接近的API来编写流式计算应用。Spark Streaming使用离散化流(discretized stream作为抽象表示)作为抽象表示,叫做DStream。##### DStream(不间断工作)接收方式:随时间推移而接收到数据...原创 2018-04-24 16:52:03 · 302 阅读 · 0 评论