本文摘自《Spark 快速大数据分析》 概述 RDD 支持两种操作:转化操作(Transformation)和行动操作(Action)。 转化操作时返回一个新的 RDD 的操作,比如 map() 和 filter()。 行动操作则是向驱动器程序返回结果或把结果写入外部系统的操作,会触发实际的计算,比如 count() 和first()。 Spark 对待转化操作和行动操作的方式很不一样,因此理解你正在进行的操作很重要的。 如果对于一个特定的函数是属于转化操作还是行动操作感到困惑,你可以看看它的返回值类型:转化操作返…

2020年10月26日 0条评论 68点热度 阅读全文

静态分配: OS(操作系统预留) 1 core 1Gcore 并发能力 <=5executor AM预留1个executor 余executor=总executor-1memory 预留每个executor0.07比例MemoryOverhead max(384M, 0.07 × spark.executor.memory)ExecutorMemory (总m-1G(OS))/nodes_num-MemoryOverhead 例子1 硬件资源: 6 节点,每个节点16 cores, 64 GB 内存 每个节点…

2020年10月22日 0条评论 118点热度 阅读全文

RPC配置类 TransportConf TransportConf给Spark的RPC框架提供配置信息,它有两个成员属性——配置提供者conf和配置的模块名称module。这两个属性的定义如下: //配置提供者 private final ConfigProvider conf; //模块名称 private final String module; ConfigProvider是一个抽象类,代码如下: /** * Provides a mechanism for constructing a {@link Tr…

2020年10月20日 0条评论 95点热度 阅读全文

1 Spark背景       Spark是一个加州大学伯克利分校(UC Berkeley AMP)开发的一个分布式数据快速分析项目。它的核心技术是弹性分布式数据集(Resilient distributed datasets),提供了比Hadoop更加丰富的MapReduce模型,可以快速在内存中对数据集进行多次迭代,来支持复杂的数据挖掘算法和图计算算法。 2 Spark工作原理 2.1 Spark专业术语定义 (1)Application:Spark应…

2020年10月18日 0条评论 3点热度 阅读全文

RDD是Spark对数据的抽象,本文将介绍它与MapReduce的区别以及它的优势 MapReduce存在的问题 MapReduce上的迭代操作 可以看到一个MapReduce作业处理的结果只能存放在硬盘当中,当另一个MapReduce作业去读取这个结果时又得从硬盘读取到内存中,这就产生了大量的数据复制,磁盘I/O,数据的序列化操作,这些多余的操作就使得整个计算系统变慢。 MapReduce上的交互操作 是同样每次查询数据都需要到磁盘里读取数据 使用RDD的操作模型及优势 RDD的迭代操作 可以看到它将一个MapR…

2020年10月16日 0条评论 52点热度 阅读全文

处理数据时,比我们想对一个年级的所有语文考试成绩先按班级分类,再在每个班级里按成绩排名,最终每个班级的数据保存为一个文件,这就要用到spark分区加排序的技巧 数据为DF格式时 代码 val spark =SparkSession.builder().config(new SparkConf()).getOrCreate() val sc =spark.sparkContext val data = sc.parallelize(Array((100,2),(200,1),(300,3),(100,4),(200,…

2020年10月10日 0条评论 4点热度 阅读全文

Waterdrop帮你快速玩转Spark数据处理 屠龙宝刀,宝刀屠龙,踏遍天下,谁敢不从,倚天不出,谁与争锋! Databricks 开源的 Apache Spark 对于分布式数据处理来说是一个伟大的进步。我们在使用 Spark 时发现了很多可圈可点之处,我们在此与大家分享一下我们在简化Spark使用和编程以及加快Spark在生产环境落地上做的一些努力。 一个Spark Streaming读取Kafka的案例 以一个线上案例为例,介绍如何使用Spark Streaming统计Nginx后端日志中每个域名下每个状态…

2020年10月10日 0条评论 3点热度 阅读全文

因为Segmentfault的文章发布审核对格式要求太严格了,我去简书了地址在这里https://www.jianshu.com/p/f50...

2020年10月10日 0条评论 81点热度 阅读全文

一、什么是内存溢出? 内存溢出(OOM:out of memory)通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。 在Java中,将会产生java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory co…

2020年10月9日 0条评论 80点热度 阅读全文

对很多技术团队来说,在搭建智能数据架构的过程中,或多或少会遇到一些疑惑和挑战,经过多次实践后,有些团队已经破除疑惑,成功探索出一条搭建智能数据架构之路,那么他们是如何实现这一技术的呢?在近日的个推技术沙龙成都站,几位架构大师在现场开启了数据技术的“脑暴时间”。 诺基亚网络成都研发中心研发经理 刘朋 《数据增长时代的研发管理》 企业在应对数据增长带来的巨大挑战时,需在研发和管理方面做好充足准备。 研发方面,提升数据存储的扩展性;管理方面,除了增加对人和设备的管理外,要努力打造一支具有数据驱动型领导力的团队,让团队中的…

2020年10月7日 0条评论 72点热度 阅读全文