Spark专栏。
文章平均质量分 73
日常记录一些学到的spark的知识和一些错误以及一些解决的途径。
啊帅和和。
大数据小白,逐渐进阶。
展开
-
SparkStreaming-相关窗口操作
目录提前封装好的重复代码将日志信息调整为ERRORwindowcountByWindowreduceByWindowreduceByKeyAndWindow不保留数值保留数值countByValueAndWindow提前封装好的重复代码按照我的习惯,先把重复的代码做一个简单的封装,后面直接继承就可,这里的窗口长度为3,滑动频率为1package com.shujia.testimport org.apache.spark.SparkContextimport org.apache.spark.原创 2022-01-18 16:56:48 · 2080 阅读 · 0 评论 -
spark整合hive
加上依赖idea中配置有关spark整合hive的依赖,让idea在本地可以用spark的环境操作hive修改shell中的配置文件spark-sqlspark-sql --master yarn-client 不能使用yarn-cluster可以整合hive 使用hive的元数据1、在hive的hive-site.xml修改一行配置,增加了这一行配置之后,以后在使用hive之前都需要先启动元数据服务<property> <name>hive.metas原创 2021-11-17 21:30:31 · 1777 阅读 · 0 评论 -
spark优化
有关spark调优可以从这三个方面进行考虑代码优化参数优化数据倾斜优化感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。原创 2021-11-17 19:39:13 · 1081 阅读 · 0 评论 -
Spark Streaming的简单使用
目录理解微批处理spark core和spark sql都是做离线处理(批处理)的,一计算完就没有了,这里的spark streaming是做流处理(数据是源源不断,7*24小时的),实时计算,是一种微批处理理解微批处理spark的微批处理相当于给我们所写的代码加上一个定时任务,只要将我们的数据源换掉,不使用HDFS,数据就可以源源不断的获得,并且进行处理这里的数据源不再是HDFS(比较慢,会有延迟),而是消息队列(数据排队,先进先出),数据会被生产和消费,这里的数据不会被永久存储,一般是七天原创 2021-11-15 20:23:10 · 1202 阅读 · 0 评论 -
Spark sql的简单使用
目录加载依赖spark sql简单入门Spark sql简单应用应用配置读取文件读取文本文件并展示数据show()将数据完全显示读取json文件读取jdbc文件读取也锁格式的文件文件将数据以压缩格式存储parquet或者orc格式存储读取数据注册成视图并写SQL直接写sql类sql的模式写出文件到别的路径RDD和DF的相互转换RDD转换成DFDF转换成RDDDF中函数的使用wherefilterselect聚合函数的位置(agg)join直接写sql加载依赖依赖这个东西,只要注意几个依赖之间的相互关系能原创 2021-11-12 22:16:55 · 6512 阅读 · 0 评论 -
Spark资源调度与任务调度
名词解释Application:基于Spark的应用程序,包含了driver程序和 集群上的executorDriverProgram:运行main函数并且新建SparkContext的程序ClusterManager:在集群上获取资源的外部服务(例如 standalone,Mesos,Yarn )WorkerNode:集群中任何可以运行应用用代码的节点 (Yarn的模式下是在nodemanager中运行的,standalone模式下是在workernode中运行的)Executor:是在一个wo原创 2021-11-12 00:16:17 · 1437 阅读 · 0 评论 -
Spark Shuffle(包含reduce分区数决定因素)
目录shuffle为什么要有shuffleshuffle分类Shuffle WriteShuffle Readshuffle可能会面临的问题HashShuffle优化解决问题reduce分区数决定因素SortShuffleshuffle为什么要有shuffleshuffle:为了让相同的key进入同一个reduce每一个key对应的value不一定都在同一个分区中,也未必都在同一个节点上,而是极可能分布在各个节点上shuffle分类Shuffle Write发生在map端的shuffle,需要原创 2021-11-11 23:20:27 · 2004 阅读 · 1 评论 -
Spark架构图解
目录spark架构图解举例BlockManager的作用spark架构图解举例BlockManager的作用广播变量的获取流程:1、算子内部用到了广播变量2、第一次使用的task就会去向Executor端获取3、Executor中如果没有,就会去向Driver获取(首先由ConnectionManager去跟Driver建立连接然后由BlockTransferService负责拉取数据拉取过来的数据由MemoryStore负责管理)4、后续的Executor中的task就可以直接从原创 2021-11-11 22:42:08 · 749 阅读 · 0 评论 -
Spark中的累加器和广播变量
目录累加器广播变量总结累加器用来修改Executor端取不到的一些值我们这里做一个计算,来计算这里foreach了多少次,按照我们传统的思维,这里我们是可以计算出结果是1000次的,也就是有1000个学生,但我们看到结果并非如此def main(args: Array[String]): Unit = { val conf: SparkConf = new SparkConf() .setMaster("local") .setAppName("Demo16Cache原创 2021-11-11 21:45:26 · 503 阅读 · 0 评论 -
Spark的chche和checkpoint
目录cache->提升效率为什么要使用cachecache缓存缓存的级别cache和persist的区别缓存策略的选择unpersist释放缓存checkpoint->容错checkpoint的原理优化为了引入这两个机制,这里我们手写一个实现Pi的操作,这里我们只需要求出落在圆里的点与落在正方形里面的点的概率比值即可这里我们着重突出slices表示生成多少个任务cnt表示每一个任务内生成多少个点这里的任务数,我们每一次计算都会创建一个任务task,这就导致需要处理的文件数量非常多,这原创 2021-11-11 20:55:25 · 421 阅读 · 0 评论 -
Spark简述二
目录spark常用算子spark常用算子感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。原创 2021-11-10 22:31:13 · 983 阅读 · 0 评论 -
Spark简述一
目录什么是sparkspark读取数据与MR读取数据的不同RDD五大基本特性什么是RDD如何分别宽窄依赖五大特性的一一介绍spark几种模式搭建sparklocal模式standalone模式yarn模式什么是spark官网概述:Spark是一个基于内存的开源计算框架,于2009年诞生于加州大学伯克利分校AMPLab(AMP:Algorithms,Machines,People),它最初属于伯克利大学的研究性项目,后来在2010年正式开源,并于 2013 年成为了 Apache 基金项目,到2014原创 2021-11-08 22:25:16 · 678 阅读 · 0 评论 -
SparkStreaming运行报错: For input string: “jdbc.datasource.size“
报错赏析: For input string: “jdbc.datasource.size”我在运行一个SparkStreaming的程序时,一直提示我缺少什么什么jar包,后来仔细观察才发现错误的根源在这。“For input string” 就是在告诉我们,想把“jdbc:datasource.size”转换成string类型时出错,后来发现是我自己忘记改了,羞愧难当。感谢阅读,我是啊帅和和,大数据专业大三学生,祝你快乐。...原创 2021-02-23 11:52:51 · 406 阅读 · 0 评论 -
SparkStreaming实现WordCount
这几天开始看SparkStreaming,在开始做测试的时候中间出了一些问题,对其中的过程进行记录。首先都是老一套,先添加依赖(注意pom.xml文件中的spark的版本一定要一致,不然会出现这个错误:java.lang.NoSuchMethodError: org.apache.spark.rpc.RpcEndpointRef.askWithRetry(Ljava/lang/Object;Lscala/reflect/ClassTag;即版本不一致出的错。)<dependency>原创 2021-02-15 11:14:38 · 743 阅读 · 0 评论 -
Sparkstreaming以kafka作为数据源在IDEA中进行测试。
这两天看到了sparkstreaming连接上kafka作为数据源在idea中进行测试,一路颠沛流离,特此记录。首先虚拟机上要有zookeeper和kafka(我这里只用了一台虚拟机进行测试)。安装完zookeeper和kafka之后,再对IDEA进行配置。我用的spark,Scala,streaming以及streaming-kafka都是2.11版本的。关键配置文件如下:<dependency> <groupId>org.apache.spark原创 2021-02-18 12:56:25 · 582 阅读 · 0 评论 -
spark报错:SparkContext: Error initializing SparkContext
今天早上在写一个.scala代码时,控制台一直出现这个错误。原本以为这个错误是找不到URL地址,不能使用local[*]这种模式,后来发现这个错误的根本是在上一行,也就是:SparkContext: Error initializing SparkContext原因是初始化SparkContext时出现的问题。1.val config:SparkConf = new SparkConf().setMaster(“Local[*]”).setAppName(“ahehe”)2.val sc = n原创 2020-11-28 11:08:16 · 6897 阅读 · 2 评论 -
在IDEA里运行spark
最近在学spark,想在本地的IDEA里配置关于spark的环境,然后在本地运行spark程序,一路上跌跌撞撞遇到很多坑,看了很多的博客,虽然也有很多搭建的过程,但我遇到了太多的问题,所以特此记录一下。文章里所提到的各类配置文件的下载网址在最后。在IDEA里运行spark所需要的前期准备事项:1.本地电脑里已经配置完成Scala2.本地电脑里已经配置完成maven3.本地电脑里已经配置完成Hadoop(这里推荐本地电脑里配置这几种版本的Hadoop:1、Hadoop-2.6.32、Hadoo原创 2020-11-03 18:45:43 · 11504 阅读 · 4 评论