spark
一颗向上的草莓
后台开发者,前端爱好者,个人博客:http://catchu.github.io
展开
-
spark中cache()、persist()、checkpoint()解析
Spark对RDD的持久化操作(cache()、persist()、checkpoint())是很重要的,可以将rdd存放在不同的存储介质中,方便后续的操作能重复使用。cache()persist()cache和persist都是用于将一个RDD进行缓存,这样在之后使用的过程中就不需要重新计算,可以大大节省程序运行时间。cache和persist的区别:cache只有一个默认的缓存级...转载 2019-05-03 20:53:13 · 487 阅读 · 0 评论 -
SparkStreaming入门:通过socket读取流数据
开始前的准备1.因为我们等会要在linux创建一个socket,然后不停的读入数据,所以首先在linux上开启一个虚拟机,然后启动一个端口,命令:nc -lk 9999,此时就创建了一个端口是9999的进程,可以在控制台输入数据了,如果提示你nc状态不支持,需要安装nc,命令是:yum install nc2.配置hosts文件,使能够根据主机名进行访问。实际操作的代码如下:im...原创 2019-06-02 19:47:45 · 1536 阅读 · 0 评论 -
使用Spark处理二次排序问题
现在有这样一个需求:有这样一份log日志记录了某时间戳下某个设备访问网站时产生的上行流量、下行流量。时间戳/设备号/上行流量/下行流量现在想统计出每个设备号的最早访问时间及总的上行流量、下行流量,最后打印出10个按上行流量、下行流量排序的最多的10个记录。思路:涉及到排序问题,我们可以使用Spark的sortByKey算子,我们可以自定义排序方式,实现Comparable接口即...原创 2019-05-17 22:27:55 · 659 阅读 · 0 评论 -
SparkSQL初始和创建DataFrame的几种方式
一、前述 1、SparkSQL介绍 Hive是Shark的前身,Shark是SparkSQL的前身,SparkSQL产生的根本原因是其完全脱离了Hive的限制。SparkSQL支持查询原生的RDD。 RDD是Spark平台的核心概念,是Spark能够高效的处理大数据的各种场景的基础。 能够在Scala中写SQL语句。支持简单的SQL语法检查,能够在Scala中写Hive...转载 2019-05-26 21:42:24 · 313 阅读 · 0 评论 -
Linux环境下Spark集群搭建
Spark是通用的基于内存计算的大数据框架,可以和hadoop生态系统很好的兼容,以下来部署Spark集群 集群环境:3节点 Master:bigdata1 Slaves:bigdata2,bigdata3 Master负责任务的分发,与集群状态的显示 Slaves运行具体的Worker任务,最后交由Executor执行任务代码 集群搭建之前,必须满足如下条件: 1、...转载 2019-05-12 11:51:48 · 1361 阅读 · 0 评论 -
Spark 启动时,报JAVA_HOME not set
刚部署好的spark集群,启动时报异常,JAVA_HOME is not set.这是因为,在sbin目录下的spark-config.sh文件下未添加JAVA_HOME的位置.在该文件下添加jdk的路径其它各个节点也都需要这样配置,如果路径信息都是一样的,而且配置了免密登录,直接使用scp命令就可以scp -r spark-config.sh mini2:`pwd...原创 2019-05-12 11:34:13 · 1346 阅读 · 0 评论 -
Spark中广播变量和累加器
一、前述Spark中因为算子中的真正逻辑是发送到Executor中去运行的,所以当Executor中需要引用外部变量时,需要使用广播变量。累机器相当于统筹大变量,常用于计数,统计。二、具体原理1、广播变量广播变量理解图注意事项1、能不能将一个RDD使用广播变量广播出去? 不能,因为RDD是不存储数据的。可以将RDD的结果广播出去。2、...转载 2019-05-11 22:53:47 · 184 阅读 · 0 评论 -
Spark资源调度和任务调度
Spark资源调度和任务调度的流程:启动集群后,Worker节点会向Master节点汇报资源情况,Master掌握了集群资源情况。当Spark提交一个Application后,根据RDD之间的依赖关系将Application形成一个DAG有向无环图。任务提交后,Spark会在Driver端创建两个对象:DAGScheduler和TaskScheduler,DAGScheduler是任务...原创 2019-05-04 22:32:26 · 1632 阅读 · 1 评论 -
Spark中的宽依赖和窄依赖
Spark中RDD的高效与DAG(有向无环图)图有着莫大的关系,在DAG调度中需要对计算过程划分Stage,而划分的依据就是就是RDD之间的依赖关系。针对不同的转换函数,RDD之间的依赖关系分为窄依赖(narrow dependency)和宽依赖(Wide Depencency,也称为Shuffle Depencency)。窄依赖:指父RDD的每个分区只被子RDD的一个分区...原创 2019-05-04 21:41:03 · 608 阅读 · 0 评论 -
IDEA运行异常java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/Function
idea运行报错信息java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/Function at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Cla...原创 2019-04-28 23:13:54 · 2994 阅读 · 0 评论 -
Spark中rdd的创建方式
Spark的创建方式spark根据使用的是java或scala的语言,有几种创建方式java中RDD的创建方式java中可以使用以下方式创建rdd1.使用textFile读取一个文件创建;2. 使用parallelize方法创建,第一次参数是集合,第二个参数是partition分区的数量;3. 使用parallelizePairs创建key,value格式的rdd;示例代码如下: ...原创 2019-05-04 11:08:37 · 1055 阅读 · 0 评论 -
Spark中Standalone的两种提交模式
Spark中Standalone有两种提交模式,一个是Standalone-client模式,一个是Standalone-cluster模式。1.Standalone-client提交任务方式提交命令./spark-submit --master spark://node01:7077 --class org.apache.spark.examples.SparkPi ../li...原创 2019-05-03 23:23:57 · 472 阅读 · 0 评论 -
kafka的常用命令
启动kafkanohup ./kafka-server-start.sh ../config/server.properties &kafka常用的命令创建topic./kafka-topics.sh --zookeeper mini1:2181,mini2:2181,mini3:2181 --topic TestTopic1 --replication-factor ...原创 2019-06-09 22:08:04 · 159 阅读 · 0 评论