- 博客(5)
- 收藏
- 关注
原创 Spark中Yarn资源调度与任务调度详解
1)Application:基于spark的应用程序,包含了Driver程序和集群上的Executor2)Executor:是在一个WorkNode上为某应用启动的一个进程,该进程负责运行任务,并且将数据存储在内存或者磁盘上。每一个应用都有各自独立的Executors3)Task:是一个线程对象,是被送到某个Executor上的执行单元4)DriverProgram:运行main函数并新建SparkContext的程序5)ClusterManager:在集群上获取资源的外部服务。
2024-09-26 14:19:07
1254
原创 详解MapReduce全过程
我们为什么要如此大费周章的使用MapReduce?用MySQL处理不好吗?大家有没有这些疑问,明明很多的事情MySQL就能够解决的很好,为什么硬要上MapReduce呢?我来回答一下这个问题。MySQL是单机场景,而MapReduce是分布式系统,两个工具处理数据的能力是千差万别,mapreduce适合的是PB,TB级别的数据集处理,而mysql能力却较为有限。mapreduce采用分布式计算,容错性非常之高,一个节点报错了其他节点可以迅速进行补上。
2024-09-16 22:54:38
2058
1
原创 Scala中的高阶函数
第一列是1000个学生的学号,第二列是六门科目的代码,第三列是科目对应的成绩,我们这里的需求就是如何统计每一位同学的六门科目的成绩之和,怎么操作呢?如果使用java代码来进行实现,不难想到,我们需要进行很多次分开的调用,先用split()方法进行切分,然后将每行记录中的学号和成绩储存在一个list中,然后用map中的方法对list中的成绩进行累加,工作量之大还是可以想象的,但是如果我们使用scala进行编写,那可就简单多了。优雅,简洁,这就是scala语言的精髓。
2024-09-15 14:16:03
226
原创 关于Scala中样例类的一些想法
确实,scala对于java代码的高度封装,大大增加了代码的阅读门槛,但是同时也使代码变得简洁精炼,今天要聊的case样例类便是如此。需要无参,有参构造方法,get(),set()方法,toString()和equals()方法,写起来会非常麻烦,但是如果我们使用scala代码,那么整个的步骤就可以被极大的缩短。这里截取了部分,很明显的能看到,这里代码实现了get和set和hash方法,就是说虽然看上去之写了一行代码,但是却调了很多方法,这也是scala代码能做到这么简介原因。我们可以通过反编译来看一看。
2024-09-15 12:38:21
275
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人