spark
spark核心概念原理及实战项目
jeremyyl
这个作者很懒,什么都没留下…
展开
-
KeyValue对RDDs
KeyValue对RDDs的Transfomationsexample {(1,2), (3,4), (3,6)}conbineByKey()最常用的基于key的聚合函数, 返回类型可以跟数据类型不一样许多基于key的聚合函数都用到了它, 像groupByKey()遍历partion中的元素, 元素的key, 要么之前见过, 要么不是如果是新元素, 使用参数中提供的createCombiner()函数如果是这个partition中已经存在的key, 则会使用mergrValu原创 2020-12-01 22:00:37 · 159 阅读 · 0 评论 -
RDDs的特性
RDDs的血统关系图: Spark维护着RDDs之间的依赖关系和创建关系, 叫做 血统关系图 Spark使用血统关系来计算每个RDD的需求和恢复丢失的数据延迟计算(Lazy Evaluation) Spark第一次使用Action操作是才进行真正的计算, 以减少数据传输 Spark 内部记录metadata 表明 transformations操作已经响应 加载数据也是延时计算, 数据只有在必要的时候才会被加载进去RDD缓存 默认每...原创 2020-11-30 22:11:07 · 197 阅读 · 0 评论 -
RDD 操作算子Action
Action算子 在RDD上计算出来一个结果 把结果返回给driver program或保存在文件系统 count() savecollect() 遍历整个RDD, 向driver program 返回RDD的内容需要单机内存能够容纳下(因为数据会收归拷贝到driver)take(n) 返回RDD的n个元素(同时尝试访问最少的partitions)返回是随机无序的top() 排序(根据RDD中数据的比较器)foreach() 计算RDD中每个元素, 但不...原创 2020-11-30 21:58:58 · 181 阅读 · 0 评论 -
Spark Transformation
Transformations——转换从之前的RDD构建一个新的RDD, 像map() 和filter()逐元素Transformationmap()map接收函数, 把函数应用到RDD的每一个元素,返回新的RDD例子:val lines = sc.parallelize(Array(1,2,3,4,5),5)lines.foreach(println)val lines2 = lines.map(x => x * 2)lines2.foreach(println.原创 2020-11-26 22:32:59 · 69 阅读 · 0 评论 -
Spark RDDs介绍
Driver ProgramSpark应用程序以独立进程集的方式在集群上运行,由主程序(driver program)中的SparkContext对象协调。driver program 包含程序的main()方法, RDDs的定义和操作SparkContext Driver programs 通过SparkContext对象访问Spark, SparkContext对象代表和一个集群的连接 在Shell 中SparkContext 自动创建好了, 也就是sc...原创 2020-11-25 22:56:25 · 161 阅读 · 0 评论 -
Spark第一个程序
spark中运行项目有两种方式 在spark-shell中导入依赖,编写代码,执行 和在idea中写好应用,使用spark-submit方式提交到spark运行 Spark-Shell打开spark-shell输入程序,读取文件data.txt里面的内容:val lines = sc.textFile("/Users/jeremy/Documents/data.txt")lines.first()lines.count()先看下文件里面的内容:结果.原创 2020-11-24 23:04:09 · 136 阅读 · 0 评论 -
Spark开发环境搭建
Scala安装IDea安装官网:https://www.jetbrains.com/idea/download/#section=mac根据自己的系统直接下载安装社区版打开Idea preferences ->Plugins 搜索安装scala和sbt新建一个 scala sbt项目, 这里我们选择spark 3.0.1; scala 2.12.10; sbt 1.3.11; jdk 1.8...原创 2020-11-23 23:51:19 · 141 阅读 · 0 评论 -
Spark安装
依赖 Spark是Scala语言写的, 运行在JVM上,所以运行环境需要JAVA7+ 如果使用的是python API, 需要安装Python2.6+ 或 Python3.4+下载官网地址:https://spark.apache.org/downloads.html注意,除了版本2.4.2是用Scala 2.12预构建的, Spark 2.x都是用Scala 2.11预构建的。Spark 3.0+是用Scala 2.12预构建的。Spark gu...原创 2020-11-22 18:11:43 · 57 阅读 · 0 评论 -
Spark的组件
组件Spark包括多个集成组件,结构图如下:Spark Corespark core 为其他组件提供底层服务包含Spark的基本功能, 包含任务调度、内存管理、容错机制等内部定义了RDD——弹性分布式数据集提供很多API来创建和操作RDDSpark SQLspark sql 是Spark处理结构化数据的库, 类似于Hive SQL, mySQL, 目前公司主要用于报表统计和数据查询Spark Streamingspark stream 是实时数据...原创 2020-11-22 17:43:17 · 628 阅读 · 0 评论 -
Spark简介
简介简单来讲,Spark是一个快速且通用的大规模数据处理分析引擎快速: Spark扩充了传统的Map Reduce计算模型 Spark基于内存计算通用: Spark容纳了分布式系统拥有的功能,批处理、流处理、迭代计算、交互查询等 Spark提供Python、JAVA、Scala和R等API和内置库,原生语言是Scala Spark与其他大数据工具整合较好 Hadoop、Kafka等 ...原创 2020-11-22 17:09:24 · 67 阅读 · 0 评论