![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
文章平均质量分 97
skwang_君永夜
这个作者很懒,什么都没留下…
展开
-
Spark之spark2.4.2源码编译集成hadoop-2.6.0-cdh5.7.0
文章目录1.环境1.1硬件环境1.2软件环境2.编译依赖软件安装2.1 JDK安装2.2 Maven安装2.3 Scala安装3.编译Spark3.1上传源码包以及解压3.2配置pom文件3.3(可选)修改ake-distribution.sh文件3.4编译4.部署验证4.1解压以及添加环境变量4.2解压后目录详解4.2运行测试脚本前言:生产中不管是spark代码改造还是spark集成部署使用都...原创 2019-05-01 23:28:39 · 1039 阅读 · 0 评论 -
Spark之Stream高级知识分享二(MapWithState +foreachRDD+Window+transform)
1.MapWithState 小案列Spark Stream: 以批处理为主,用微批处理来处理流数据Flink : 真正的流式处理,以流处理为主,用流处理来处理批数据但是Spark的Sturctured Stream确实是真正的流式处理,也是未来的Spark 流式处理的未来方向,新的Stream特性也是加在那里了。1)MapWithState可以实现和UpdateStateByke...原创 2019-06-03 13:13:31 · 383 阅读 · 0 评论 -
Spark之Core高级知识分享五(textFile+Shell+Tuning)
1.sc.textFile()源码讲解textFile读取的是hdfs上的数据,调的底层就是hdfs读取数据API2.shell脚本启动流程Spark相关shell脚本是工业级脚本,在以后生产上若遇到写此类的服务脚本完全,可以借它抄抄抄3.Tuning当我们的作业效率有问题时,我们就需要考虑进行优化了,如下是常用优化方法3.1数据存储改为可序列化spark core中默认的数据存储...原创 2019-05-21 00:21:59 · 464 阅读 · 0 评论 -
Spark之SQL高级知识分享(任务提交优化+SparkSQL执行计划解析+Spark版本对比)
1.普通方式提交任务的缺点以及优化方法。使用spark-shell/spark-submit脚本提交作业到yarn时:2exector :花了一分钟时间200executor :会花费更多更多的时间在向yarn申请资源缺点一:耗费太多的时间用于申请资源上,尤其针对那些小任务(可能任务本身20秒完成)缺点二:若因为数据倾斜导致部分task一值无法结束,那么即使那些完成任务的task的资源...原创 2019-05-26 18:35:32 · 1580 阅读 · 0 评论 -
Spark之SQL高级知识分享二(DataSource+Tuling+CustomDataSource)
1.DataSource1.1传统的ETL数据操作弊端如上图,传统的方式如MR、Hive、Spark core方式进行数据ETL操作有如下弊端:弊端一:若涉及数据格式的转换,则代码或sql相关的逻辑就得重写。弊端二:若数据的来源非常多样化,混杂,则实现起来就更加麻烦了。基于这种情况,Spark1.2 诞生了External Data Sources,使用它我们可以非常的方便将外部数...原创 2019-05-26 12:37:02 · 740 阅读 · 0 评论 -
Spark之SQL高级知识分享一(SQL+DataFrame+functions+DataSet)
1.Spark SQL1.1 常见的SQL On Hadoop框架hive(及其重要): 最原始的 on hadoop的方案,由facebook贡献;将sql转化为底层MR/Tez/Spark作业;hive的metastore存储了表和库的所有信息,而且他几乎是和所有on hadoop的框架通用的,hive 2.x.x版本速度上有了很大的提升impala(生产上很少用):可以使用hive的...原创 2019-05-26 12:28:44 · 1017 阅读 · 0 评论 -
Spark之Core高级知识分享六(PartitionNum+ShuffleManager)
1.shuffle and Partition numwc代码如下: val textRDD = sc.textFile("data/etlLog/input/hadoop-click-log.txt") val wc = textRDD.flatMap(_.split(",")) .map((_,1)) .reduceByKey(_+_).colle...原创 2019-05-24 22:04:39 · 397 阅读 · 0 评论 -
Spark之Core高级知识分享四(Shuffle+Monitor+Share Variables)
1.产生shuffle 操作的算子shuffle是将数据重新分配的过程,它是是跨分区的,涉及网络IO传输的,成本很高。它是整个大数据的性能杀手,瓶颈所在,故生产中尽量较少shuffle动作产生。下面是列举的常见的一些算子1.1spark中会产生shuffl的操作repartition:重分区,生产中用的最多是合并小文件,减小生成的文件数repartition:底层调的是coalesce(n...原创 2019-05-16 09:53:54 · 476 阅读 · 0 评论 -
Spark之Core高级知识分享三(Spark on yarn)
1.YARN产生背景生产中spark作业几乎都是跑在yarn上,不用Standalone,因为集群中可能有MR、Spark、MPI等各类作业,若跑在各自的资源调度框架上,那么整体集群的资源利用率肯定是有问题的。为了统一作业调度以及资源管理,yarn就诞生了,当前YARN能支持所有主流作业的资源管理和作业调度(batch、交互式、online、strem、in-memory、机器学习、图计算等框...原创 2019-05-17 15:23:33 · 863 阅读 · 0 评论 -
Spark之Core高级知识分享二(Feature+Stage+Persisit+Depedence+PairRDD)
1.RDD五大特性对应的源码上图中是对应的五个方法,输入以及输出。第一个方法和第三个方法在dirver中运行,第二个方法在exector中运行2.stagestage是对job的划分,遇到shuffle就划分,一个stage有多个tasks,同一个job间的stage具有依赖依赖关系,前者必须结束才能进行后者的计算。2.1WC演示如下的wc测试代码scala> val rdd ...原创 2019-05-10 15:16:38 · 452 阅读 · 0 评论 -
Spark之Core高级知识分享一(Glossary+Components)
Spark之Spark Core高级进阶一1.Glossary(术语)|Term | meaning |note| :------| :------||Application|User program built on Spark. Consists of a driver program and executors on the cluster.|a driver program + ...原创 2019-05-09 00:39:01 · 347 阅读 · 0 评论 -
Spark之Stream高级知识分享四(kafkaStream终极调优)
宗旨:Spark Streaming 消费 Kafka一定要保证在批次时间内完成业务的处理,若出现处理延迟累加,最终可能会导致雪崩的现象。1.kafkaStream消费者配置调优:spark.streaming.kafka.maxRatePerPartition : 一个分区一秒拉取得消息数上限,这个生产必须配置,极度重要的一个参数,该参数在Direct API 才会有效spark.str...原创 2019-07-28 22:32:45 · 584 阅读 · 0 评论