spark系列一:共享变量(broadcast和accumulator)
spark一个重要的特性就是共享变量:共享变量原理:默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个task中。此时每个task只能操作自己的那份变量副本。如果多个task想要共享某个变量,那么这种方式是做不到的。Spark为此提供了两种共享变量,一种是Broadcast Variable(广...
spark系列一:使用持久化机制和不使用持久化的原理及实战
rdd持久化原理:rdd可以持久化到内存,当对dd执行持久化操作时,每个节点都会将自己的操作的rdd的parition持久化到内存中,并且在之后对该rdd的反复使用中,直接使用内存缓存的partition,这样对于一个反复执行多个操作的场景,就只需要对rdd计算一次即可,后面直接使用该rdd,而需要反复计算多次该rdd。调用cache()或者p...
spark系列一:wordcount程序原理剖析及spark架构原理
wordcount程序原理剖析:spark架构原理:
spark系列一:transaction和action介绍
spark支持两种RDD操作,transaction和action。transaction操作是对已有的RDD创建一个新的RDD;而action操作主要是正对RDD做最后的操作,比如遍历、reduce、保存到文件等,并可以返回结果给driver程序。transaction的特点就是lazy特性。即如果spark应用中定义了transaction操作,那么即使执行该应用,这些操作也不会执行。...
spark系列二:sparksql dataframe常用操作
使用json文件创建 dataframe演示常用操作java版本:package cn.spark.study.core;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaSparkContext;import org.apache.spark.sql.DataFrame;import org.apache.spark.sql.SQLContext;public class dataframecreate { public sta...
spark系列一:内核架构及宽窄依赖及提交模式分析
1、内核架构Spark内核架构深度剖析.png2、宽窄依赖划分:.png3、提交模式:YARN的两种提交模式深度剖析.png
spark系列一:transaction操作实战
1、算子实战:java版本:package cn.spark.study.core;import java.util.Arrays;import java.util.Iterator;import java.util.List;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSpa...
spark系列一:wordcount程序排序
要求对统计的单词的次数降序排列:java版本:package cn.spark.study.core;import java.util.Arrays;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkContext;import org.apache.sp...
spark系列一:java和scala及spark-shell开发wordcount程序
spark学习记录,希望能坚持下去环境:centos6.5+spark1.3+hadoop2.4.11、代码开发:package cn.spark.study.core;import java.util.Arrays;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.J...
spark系列二:sparksql内置函数实例
在Spark 1.5.x版本,增加了一系列内置函数到DataFrame API中,并且实现了code-generation的优化。与普通的函数不同,DataFrame的函数并不会执行后立即返回一个结果值,而是返回一个Column对象,用于在并行作业中进行求值。Column可以用在DataFrame的操作之中,比如select,filter,groupBy等。函数的输入值,也可以是Column...
spark系列一:二次排序diy
创建secondarysort对象package cn.spark.study.core;import scala.Serializable;public class secondarysort implements Comparable<secondarysort>,Serializable{ private static final long serialVersionUID = 2757892230477242825L; private int first; private int second; &...
spark系列一:action操作开发实战
实例代码:1、java版本:package cn.spark.study.core;import java.util.Arrays;import java.util.List;import java.util.Map;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkCon...