假设目前已经引入了 pandas,同时也拥有 pandas 的 DataFrame 类型数据. import pandas as pd 数据集如下 df.head(3) date open close high low volume code 0 2006-12-18 3.905 3.886 3.943 3.867 171180.67 600001 1 2006-12-19 3.886 3.924 3.981 3.867 276799.39 600001 2 2006-12-20 3.934 3…
spark中,不论spark-shell还是spark-submit,都可以设置memory大小,但是有的同学会发现有两个memory可以设置.分别是driver memory 和executor memory. 从名字上大概可以猜出大概.具体就是说driver memory并不是master分配了多少内存,而是管理多少内存.换言之就是为当前应用分配了多少内存. executor memory是每个节点上占用的内存.每一个节点可使用内存. 单独设置其中一个,集群仍能正常启动. 实际应用中,初步感…
继续上一篇的内容.上一篇的内容为: Spark中Master源码分析(一) http://www.cnblogs.com/yourarebest/p/5312965.html 4.receive方法,receive方法中消息类型主要分为以下12种情况: (1)重新选择了新Leader,进行数据的恢复 (2)恢复完毕,重新创建Driver,完成资源的重新分配 (3)触发Leadership的选举 (4)Master注册新的Worker (5)Master注册新的App,然后重新分配资源 (6)Ex…
Spark中的Scheduler scheduler分成两个类型.一个是TaskScheduler与事实上现,一个是DAGScheduler. TaskScheduler:主要负责各stage中传入的task的运行与调度. DAGScheduler:主要负责对JOB中的各种依赖进行解析,依据RDD的依赖生成stage并通知TaskScheduler运行. 实例生成 TaskScheduler实例生成: scheduler实例生成,我眼下主要是针对onyarn的spark进行的相关分析, 在app…
1.PairRDD介绍     Spark为包含键值对类型的RDD提供了一些专有的操作.这些RDD被称为PairRDD.PairRDD提供了并行操作各个键或跨节点重新进行数据分组的操作接口.例如,PairRDD提供了reduceByKey()方法,可以分别规约每个键对应的数据,还有join()方法,可以把两个RDD中键相同的元素组合在一起,合并为一个RDD. 2.创建Pair RDD     程序示例:对一个英语单词组成的文本行,提取其中的第一个单词作为key,将整个句子作为value,建立 P…
1.PairRDD介绍     Spark为包含键值对类型的RDD提供了一些专有的操作.这些RDD被称为PairRDD.PairRDD提供了并行操作各个键或跨节点重新进行数据分组的操作接口.例如,PairRDD提供了reduceByKey()方法,可以分别规约每个键对应的数据,还有join()方法,可以把两个RDD中键相同的元素组合在一起,合并为一个RDD. 2.创建Pair RDD     程序示例:对一个英语单词组成的文本行,提取其中的第一个单词作为key,将整个句子作为value,建立 P…
1.RDD介绍:     RDD,弹性分布式数据集,即分布式的元素集合.在spark中,对所有数据的操作不外乎是创建RDD.转化已有的RDD以及调用RDD操作进行求值.在这一切的背后,Spark会自动将RDD中的数据分发到集群中,并将操作并行化.     Spark中的RDD就是一个不可变的分布式对象集合.每个RDD都被分为多个分区,这些分区运行在集群中的不同节点上.RDD可以包含Python,Java,Scala中任意类型的对象,甚至可以包含用户自定义的对象.     用户可以使用两种方法创建…
一.前述 Spark中控制算子也是懒执行的,需要Action算子触发才能执行,主要是为了对数据进行缓存. 控制算子有三种,cache,persist,checkpoint,以上算子都可以将RDD持久化,持久化的单位是partition.cache和persist都是懒执行的.必须有一个action类算子触发执行.checkpoint算子不仅能将RDD持久化到磁盘,还能切断RDD之间的依赖关系. 二.具体算子 1. cache 默认将RDD的数据持久化到内存中.cache是懒执行. chche (…
当两个表需要join时,如果一个是大表,一个是小表,正常的map-reduce流程需要shuffle,这会导致大表数据在节点间网络传输,常见的优化方式是将小表读到内存中并广播到大表处理,避免shuffle+reduce: 在hive中叫mapjoin(map-side join),配置为 hive.auto.convert.join 在spark中叫BroadcastHashJoin (broadcast hash join) Spark SQL uses broadcast join (aka…
新发布1.7.0版本的hanlp自然语言处理工具包差不多已经有半年时间了,最近也是一直在整理这个新版本hanlp分词工具的相关内容.不过按照当前的整理进度,还需要一段时间再给大家详细分享整理的内容.昨天正好看到的这篇关于关于1.7.0版本hanlp分词在spark中的使用介绍的文章,顺便分享给大家一起学习一下! 以下为分享的文章内容: HanLP分词,如README中所说,如果没有特殊需求,可以通过maven配置,如果要添加自定义词典,需要下载“依赖jar包和用户字典". 直接"jav…