
Spark
文章平均质量分 95
Spark技术学习与分享
liweihope
这个作者很懒,什么都没留下…
展开
-
Spark的driver理解和executor理解
1.看了很多网上的图,大多是dirver和executor之间的图,都不涉及物理机器如下图,本人觉得这些始终有些抽象看到这样的图,我很想知道driver program在哪里啊,鬼知道?为此我自己研究了一下,网友大多都说是对的有不同想法的请评论2.现在我有三台电脑 分别是192.168.10.82 –>bigdata01.hzjs.co 192.168.10.83 –>bi...转载 2019-06-09 05:47:17 · 9742 阅读 · 6 评论 -
Spark之Monitor 官网翻译
翻译官网:Monitoring and Instrumentation在跑Spark作业的时候,或者半夜跑完之后第二天,你常常需要看它运行时的信息,看一下运行情况,以及根据这些信息进行调优等,那么对于Spark作业的运行时监控就显得很重要了。Monitoring and Instrumentation(监控和仪表化)有几种方法可以监控Spark应用程序:Web UI,metrics和ex...原创 2019-06-19 00:43:16 · 472 阅读 · 0 评论 -
Spark之Monitor
在跑Spark作业的时候,或者半夜跑完之后第二天,你常常需要看它运行时的信息,看一下运行情况,以及根据这些信息进行调优等,那么对于Spark作业的运行时监控就显得很重要了。有几种方法可以监控Spark应用程序,常用的有Web UI,history server、REST API等,当然还有其它的不常用的,可以参考上一篇博客。通过Spark Web UI进行监控每一个SparkContext都...原创 2019-06-22 09:13:22 · 859 阅读 · 0 评论 -
Spark-core之Shuffle
文章目录什么是Shuffle?RDD中 partition 个数怎么定?(小插曲)有哪些算子会产生shuffle?1)repartition 系列的操作①spark-shell代码测试②DAG图分析③IDEA代码测试④repartition 和 coalesce在生产中的应用??(重要)2)‘ByKey系列的操作①reduceByKey(func, [numPartitions])②groupBy...原创 2019-06-17 02:48:34 · 496 阅读 · 0 评论 -
Spark on YARN
前言Spark 可以跑在很多集群上,比如跑在local上,跑在Standalone上,跑在Apache Mesos上,跑在Hadoop YARN上等等。不管你Spark跑在什么上面,它的代码都是一样的,区别只是–master的时候不一样。其中Spark on YARN是工作中或生产上用的非常多的一种运行模式。YARN产生背景以前没有YARN的时候,每个分布式框架都要跑在一个集群上面,比如说H...原创 2019-06-14 01:00:29 · 23938 阅读 · 0 评论 -
Spark Shuffle operations-官网翻译
参考官网:http://spark.apache.org/docs/latest/rdd-programming-guide.html#shuffle-operationsShuffle operationsCertain operations within Spark trigger an event known as the shuffle. The shuffle is Spark’...转载 2019-06-15 11:20:20 · 314 阅读 · 0 评论 -
初识SparkSQL
文章目录背景SQL on Hadoop框架介绍Spark SQL概述Spark SQL, DataFrames and Datasets 向导背景SQL:结构化查询语言,主要用来进行统计分析。Oracle、MySQL、DB2、SQLserver等关系型数据库都用SQL。但是这些关系型数据库对数据量是有限制的。但是随着互联网的发展,数据量越来越大,关系型数据库越来越难操作这些大数据量的数据。...原创 2019-06-30 23:55:19 · 415 阅读 · 0 评论 -
Spark-Core之共享变量
文章目录Broadcast Variablebroadcast join举例先看一下普通的join如何实现?再用broadcast join来实现?Accumulator参考官网:http://spark.apache.org/docs/latest/rdd-programming-guide.html#shared-variables默认情况下,如果在一个算子函数中使用到了某个外部的变量...原创 2019-06-22 15:31:48 · 275 阅读 · 0 评论 -
Spark之Tuning Spark官网翻译
文章目录Data SerializationMemory TuningMemory Management OverviewDetermining Memory ConsumptionTuning Data StructuresSerialized RDD StorageGarbage Collection TuningMeasuring the Impact of GCAdvanced GC Tu...原创 2019-06-23 23:39:01 · 467 阅读 · 0 评论 -
SparkSQL之DataFrame
如何构建DataFrames ?A Dataset can be constructed from JVM objects and then manipulated using functional transformations (map, flatMap, filter, etc.).Dataset 可以从JVM对象中进行构建,然后用各种算子对它进行操作。DataFrames can b...原创 2019-07-03 00:17:16 · 415 阅读 · 0 评论 -
Spark-Core之map与mapPartitions
源代码①map源代码: /** * Return a new RDD by applying a function to all elements of this RDD. */ def map[U: ClassTag](f: T => U): RDD[U] = withScope { val cleanF = sc.clean(f) new MapPa...原创 2019-06-23 14:40:03 · 884 阅读 · 0 评论 -
spark中map与mapPartitions区别
在spark中,map与mapPartitions两个函数都是比较常用,这里使用代码来解释一下两者区别import org.apache.spark.{SparkConf, SparkContext}import scala.collection.mutable.ArrayBufferobject MapAndPartitions { def main(args: Array[Str...转载 2019-06-22 15:50:03 · 1660 阅读 · 0 评论 -
IDEA开发Spark应用程序
文章目录创建一个Maven项目,添加依赖词频统计案例开发及上传jar包到服务器并准备测试数据jar包提交Spark应用程序运行词频统计案例迭代之输出结果到HDFS词频统计案例迭代之处理多个输入文件词频统计案例迭代之输入文件规则匹配带排序的词频统计案例开发及运行过程深度剖析spark-shell适合做测试如果是开发的话是用IDEA+Maven+Scala来开发Spark应用程序创建一个Mave...原创 2019-06-06 22:18:42 · 8678 阅读 · 0 评论 -
SparkCore之运行架构(续--术语知识点)
文章目录RDD的五大特性以及五大特性在源码中的体现关于StageRDD之cache(persist)官网解释举例介绍cache和persist区别(面试经常问的)persist之StorageLevel如何选择Storage Level?去除缓存数据Removing Datarecompute重新计算窄依赖和宽依赖(面试经常)Key-Value Pairs键值对RDD的五大特性以及五大特性在源码...原创 2019-06-09 15:12:05 · 350 阅读 · 0 评论 -
Spark-Core之spark-shell脚本分析
Spark的bin目录下,spark-shell脚本是工业级脚本,其它脚本也是类似的,写的都非常好。生产上,很多作业都是通过脚本来进行启动的,如果以后用到的话,可以参考这些工业级的脚本,很多可以学习参考的地方,可以直接拿过来使用,学会“抄”。spark-shell脚本:[hadoop@hadoop001 bin]$ cat spark-shell #!/usr/bin/env bash#...原创 2019-06-23 15:31:09 · 327 阅读 · 0 评论 -
RDD操作续
map和flatmapscala> val nums = sc.parallelize(List(1,2,3,4,5,6))nums: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[4] at parallelize at <console>:24scala> val squares = nums.map...原创 2019-06-06 10:25:34 · 278 阅读 · 0 评论 -
SparkCore之运行架构
参考官网:http://spark.apache.org/docs/latest/cluster-overview.htmlCluster Mode Overview集群模式概述This document gives a short overview of how Spark runs on clusters, to make it easier to understand the co...原创 2019-06-08 11:01:08 · 4162 阅读 · 3 评论 -
Spark中Cache与Persist的巅峰对决
文章目录Cache的产生背景:Cache的作用:源码详细解析:删除缓存中的数据:Cache的产生背景:我们先做一个简单的测试读取一个本地文件做一次collect操作:val rdd=sc.textFile("file:///home/hadoop/data/input.txt")val rdd=sc.textFile("file:///home/hadoop/data/input.txt"...转载 2019-06-14 11:41:24 · 325 阅读 · 0 评论 -
Spark-Core之调优
可参考上一篇对官网的翻译:https://blog.youkuaiyun.com/liweihope/article/details/93386494有哪些地方可以优化呢?集群的任何资源都有可能成为Spark程序的瓶颈:CPU,网络带宽,或者内存。本篇主要是数据序列化和内存调优。数据序列化优化Spark应用程序的第一件事情就是考虑一下数据序列化。有两种序列化,Java serializatio...原创 2019-06-29 20:43:07 · 411 阅读 · 0 评论 -
Spark-SQL之自定义数据源的构建
JDBC外部数据源JDBC编程实现的底层原理自己实现 去 自定义外部数据源原创 2019-07-07 21:53:19 · 1164 阅读 · 1 评论 -
SparkSQL之DataSource
文章目录Parquet 文件加载Parquet文件Partition Discovery 分区探测Schema 合并ORC文件Hive表JDBC 到其它数据库TroubleshootingPerformance Tuning你用MapReduce、Spark、Hive去处理源数据,处理之后输出出来。输入和输出的数据文件的格式可能有很多种,比如文本、json、ORC、Parquet格式的文件等。另...原创 2019-07-05 23:40:07 · 779 阅读 · 0 评论 -
Spark概述
Spark产生背景MapReduce的局限性繁杂 ①开发层面:mapreduce只有两个算子(map和reduce),如果想实现什么功能,只能通过这两个算子来实现。如果一个很简单的功能也要有一个map,也要按照它的规范来走一遍。(小知识点:mapjoin只有map,没有reduce。mapjoin的底层实现原理是什么?)②测试层面:如果项目经理的需求不断发生改变,就需要频繁的去修改测试...原创 2019-05-24 08:48:12 · 173 阅读 · 0 评论 -
RDD操作
文章目录从宏观角度看RDD OperationsRDD map算子详解RDD filter结合map算子详解RDD mapValues算子详解RDD常用action算子详解看官网http://spark.apache.org/docs/latest/rdd-programming-guide.html#rdd-operations从宏观角度看RDD Operations官网写的很清楚:...原创 2019-05-26 23:52:30 · 332 阅读 · 0 评论 -
SparkContext和spark-shell
文章目录SparkContext&SparkConf使用IDEA构建Spark应用程序spark-shell参数使用深度详解如何使用spark-shell?spark-shell重要参数参考官网:http://spark.apache.org/docs/latest/rdd-programming-guide.html#overviewSparkContext&SparkC...原创 2019-05-25 10:09:47 · 1499 阅读 · 0 评论 -
Spark之RDD
RDD 让开发者大大降低开发分布式应用程序的门槛以及提高执行效率。每个框架都有一个抽象的编程模型,在spark core是基于RDD进行编程的,在spark streming里面是基于DStream进行编程的,在spark SQL里面是借助于HiveContext来编程。...原创 2019-05-24 16:19:39 · 359 阅读 · 0 评论 -
spark读取sequenceFile文件
先用hive创建一张存储为sequenceFile文件的表create table test(id string,time string) row format delimited fields terminated by '\t';load data local inpath '/home/hadoop/data/order_seq.txt' into table test;//需要借助...原创 2019-06-05 18:18:38 · 4616 阅读 · 2 评论 -
RDD的创建
看官网:http://spark.apache.org/docs/latest/rdd-programming-guide.html#overview创建RDD有两种方式:①并行化一个存在的集合,把一个存在的集合转化为一个RDD。这种在测试或者造数据的时候用的比较多。②引用一个外部存储系统的数据集,共享的文件系统,比如 HDFS, HBase,或者任何支持 Hadoop InputFo...原创 2019-05-25 23:25:30 · 583 阅读 · 0 评论 -
spark-3.2.0修改源码编译,导入IDEA,连接Hive库
文章目录环境Spark修改spark-shell启动LOGO修改pom.xml文件编译源码导入IDEA连接Hive库验证spark-shell启动LOGO的修改环境参考官网:https://spark.apache.org/docs/3.2.0/building-spark.htmlThe Maven-based build is the build of reference for Apache Spark. Building Spark using Maven requires Maven原创 2022-02-10 20:00:40 · 2063 阅读 · 0 评论 -
初识Spark
学习Spark的权威:①官网:http://spark.apache.org/②GitHub:https://github.com/apache/spark③源码需要了解一下最新的release,每个版本做了什么事情,看看每个release发布了什么新特性,有没有补充以前的功能,这些功能恰好是工作上可以用到的。Spark的版本:三个数字:比如2.4.2第一个数字:大版本,里程...原创 2019-05-14 00:07:03 · 245 阅读 · 0 评论 -
Spark Streaming整合Kafaka
文章目录Kafka版本选择环境准备zookeeper和kafka单节点部署启动zookeeper和kafkaSpark Streaming整合Kafaka依赖创建Direct StreamKafka版本选择Kafka属于Spark Streaming中的高级Sources。Kafka:Spark Streaming 2.4.3与Kafka broker版本0.8.2.1或更高版本兼容,跟0....原创 2019-10-06 21:03:24 · 727 阅读 · 1 评论 -
Spark Streaming + Kafka Integration Guide (Kafka broker version 0.10.0 or higher)官网翻译
在设计上,Spark Streaming集成Kafka对于 0.10版本的类似于0.8版本(现在只讲Direct Stream,其它不管,这里没有receiver)。Spark StreamingKafka对于 0.10版本的集成提供了更简化的并行度,在Kafka分区和Spark分区之间是 1:1 的对应关系,能够去访问偏移量和元数据。在有receiver的Spark Streaming里,Sp...原创 2019-10-06 21:02:54 · 377 阅读 · 0 评论 -
Spark Streaming之基本概念
文章目录依赖初始化StreamingContextDiscretized Streams (DStreams)Input DStreams and Receivers参考官网:http://spark.apache.org/docs/latest/streaming-programming-guide.html#basic-concepts上一节,初识了Spark Streaming,并做...原创 2019-10-06 20:59:18 · 693 阅读 · 0 评论 -
初识Spark Streaming
参考官网:http://spark.apache.org/streaming/Spark Streaming特点Spark Streaming makes it easy to build scalable fault-tolerant streaming applications.Spark Streaming使得 去构建可扩展的能容错的流式应用程序 变得容易。(RDD容错体现在哪些...原创 2019-10-06 08:59:17 · 439 阅读 · 0 评论 -
SparkCore之PartitionNum和ShuffleManager生产调优
①spark.sparkContext.textFile("file:///home/hadoop/data/wordcount.txt").flatMap(_.split("\t")).map(x => (x,1)).reduceByKey(_+_).collect//可以看出来textFile中有两个参数,第一个参数是路径,第二个参数是分区数,不写就是默认分区数 def te...原创 2019-10-05 10:19:03 · 761 阅读 · 0 评论