spark
码农的世界,你不懂
这个作者很懒,什么都没留下…
展开
-
Spark读写OSS并使用OSS Select来加速查询
Spark读写OSS基于这篇文章搭建的CDH6以及配置,我们来使Spark能够读写OSS(其他版本的Spark都是类似的做法,不再赘述)。由于默认Spark并没有将OSS的支持包放到它的CLASSPATH里面,所以我们需要执行如下命令下面的步骤需要在所有的CDH节点执行进入到$CDH_HOME/lib/spark目录, 执行如下命令[root@cdh-master spark...原创 2019-11-12 15:30:31 · 687 阅读 · 0 评论 -
记录一次Spark调优性能对比
在重写MR到Spark的过程中发现Spark的性能并没有达到我的预期,记录一次调优操作即效果对比本文涉及调优手段:持久化分区数未调优之前的代码:val jsonStringRDD: RDD[String] = sc.textFile(s"$inputPath")val check1RDD = jsonStringRDD.filter(js => check1(js))val r...转载 2019-11-07 15:20:18 · 118 阅读 · 0 评论 -
Spark基础理论及安装
、初始Spark1、产生背景由于mapreduce只适用于离线数据处理(批处理),而不能支持对迭代式,交互式,流式数据的处理,因此,spark就诞生了hive的产生就是为了解决mapreduce的编程复杂的问题spark的产生就是为了解决mapreduce的计算缓慢的问题Spark和MapReduce...原创 2019-11-05 14:54:51 · 113 阅读 · 0 评论 -
大数据开发之Spark篇---SparkSQL入门(5)
CatalogCatalog是一个抽象类,我们一般用它来对Spark里面的元数据进行操作的,其实现类是CatalogImpl这个类型我们一般使用catalog是在sparkSession的实例对象里调用的,将返回一个Catalog对象,使用这个对象就可以直接查看元数据了。val spark = SparkSession.builder().master("local[2]").appName...原创 2019-10-31 15:17:23 · 510 阅读 · 0 评论 -
spark中如何划分stage
宽窄依赖 窄依赖指父RDD的每一个分区最多被一个子RDD的分区所用,表现为 一个父RDD的分区对应于一个子RDD的分区 两个父RDD的分区对应于一个子RDD 的分区。 宽依赖指子RDD的每个分区都要依赖于父RDD的所有分区,这是shuffle类操作Stage 一个Job会被拆分为多组Task,每组...原创 2019-10-30 15:59:41 · 192 阅读 · 0 评论 -
Spark源码系列之foreach和foreachPartition的区别
一,基本使用1,RDD分布式数据集的五大特性1),A list of partitions(一系列的分区)2),A function for computing each split(计算每个分片的方法)3),A list of dependencies on other RDDs(一系列的依赖RDD)4),Optionally, a Partitioner for key-v...原创 2019-10-30 15:26:42 · 491 阅读 · 0 评论 -
Spark数据倾斜解决方案
1、原理以及现象分析1.1、数据倾斜怎么出现的在执行shuffle操作的时候,是按照key,来进行values的数据的输出、拉取和聚合的。同一个key的values,一定是分配到一个reduce task进行处理的。多个key对应的values,比如一共是90万。可能某个key对应了88万数据,被分配到一个task上去面去执行。另外两个task,可能各分配到了1万数据,可能是数百个key,对应的1...转载 2019-10-30 15:08:02 · 80 阅读 · 0 评论