Fork me on GitHub
这個人好蠢、

哪懂坚持 | 全靠死撑


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

Spark学习之路(七)SparkCore的调优之数据倾斜调优

发表于 2019-07-31 | 分类于 Spark
字数统计: 8.5k 字 | 阅读时长 ≈ 33 分钟

Spark数据倾斜调优

dota_2___skywrath_mage_by_sheron1030-d85v1of

阅读全文 »

Spark学习之路(六)SparkCore的调优之开发调优

发表于 2019-07-29 | 分类于 Spark
字数统计: 8k 字 | 阅读时长 ≈ 28 分钟

Spark开发调优

在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、性能更高。

然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对Spark作业进行合理的调优,Spark作业的执行速度可能会很慢,这样就完全体现不出Spark作为一种快速大数据计算引擎的优势来。因此,想要用好Spark,就必须对其进行合理的性能优化。

Spark的性能调优实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。我们需要根据不同的业务场景以及数据情况,对Spark作业进行综合性的分析,然后进行多个方面的调节和优化,才能获得最佳性能。

阅读全文 »

Scala学习之路(四)Scala的类、对象、继承、特质

发表于 2019-07-28 | 分类于 Scala
字数统计: 3.6k 字 | 阅读时长 ≈ 15 分钟

类、对象、继承、特质

dota_2___templar_assassin_reworked_by_sheron1030-d7fs0no

阅读全文 »

Spark学习之路(五)Spark 运行流程

发表于 2019-07-27 | 分类于 Spark
字数统计: 5.1k 字 | 阅读时长 ≈ 19 分钟

Spark运行流程

dota_2___tiny_by_sheron1030-d8l34bq

阅读全文 »

Scala学习之路(三)Scala的关键字Lazy

发表于 2019-07-27 | 分类于 Scala
字数统计: 427 字 | 阅读时长 ≈ 1 分钟

Scala的关键字

Scala中使用关键字lazy来定义惰性变量,实现延迟加载(懒加载)。
惰性变量只能是不可变变量,并且只有在调用惰性变量时,才会去实例化这个变量。

阅读全文 »

Scala学习之路(二)Scala的数组、映射、元组、集合

发表于 2019-07-26 | 分类于 Scala
字数统计: 2.6k 字 | 阅读时长 ≈ 10 分钟

Scala的数据结构

scala

阅读全文 »

Scala学习之路(一)Scala的基本使用

发表于 2019-07-26 | 分类于 Scala
字数统计: 2.3k 字 | 阅读时长 ≈ 9 分钟

Scala概述

  Scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性。scala运行在虚拟机上,并兼容现有的Java程序。Scala源代码被编译成java字节码,所以运行在JVM上,并可以调用现有的Java类库。

  Scala语句末尾的分号可写可不写

1
2
3
4
5
object HelloSpark{
def main(args:Array[String]):Unit = {
println("Hello Spark!")
}
}
阅读全文 »

Spark学习之路(四)Spark的Transformation和Action

发表于 2019-07-26 | 分类于 Spark
字数统计: 2.2k 字 | 阅读时长 ≈ 9 分钟

Spark算子 Transformation | Action

本文参考:扎心了,老铁

一、Transformation算子

1、map, flatMap, mapParations, mapPartitionsWithIndex

A、map

(1)使用scala进行编写

1
2
3
4
5
6
def map(): Unit ={
val list = List("张无忌", "赵敏", "周芷若")
val listRDD = sc.parallelize(list)
val nameRDD = listRDD.map(name => "Hello " + name)
nameRDD.foreach(name => println(name))
}

(2)运行结果

1

(3)总结

可以看出,对于map算子,源JavaRDD的每个元素都会进行计算,由于是依次进行传参,所以他是有序的,新RDD的元素顺序与源RDD是相同的。而由有序又引出接下来的flatMap。

阅读全文 »

Spark学习之路(三)Spark的广播变量和累加器

发表于 2019-07-26 | 分类于 Spark
字数统计: 888 字 | 阅读时长 ≈ 3 分钟

Spark的广播变量和累加器

  在spark程序中,当一个传递给Spark操作(例如map和reduce)的函数在远程节点上面运行时,Spark操作实际上操作的是这个函数所用变量的一个独立副本。这些变量会被复制到每台机器上,并且这些变量在远程机器上的所有更新都不会传递回驱动程序。通常跨任务的读写变量是低效的,但是,Spark还是为两种常见的使用模式提供了两种有限的共享变量:广播变量(broadcast variable)和累加器(accumulator)

阅读全文 »

Spark学习之路(二)Spark之RDD

发表于 2019-07-25 | 分类于 Spark
字数统计: 3.8k 字 | 阅读时长 ≈ 14 分钟

Spark之RDD

  RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。

阅读全文 »
123
yiiiiis、

yiiiiis、

愿能阅尽天下事,洗手仍能做羹汤

28 日志
7 分类
19 标签
GitHub E-Mail
© 2021 这個人好蠢、
访客数 人 浏览量