随笔分类 -  Spark

摘要:原文链接: https://blog.knoldus.com/spark-type-safety-in-dataset-vs-dataframe/ 基于类型安全特性,编程语言可以避免类型错误,或者说编译器会在编译时检查类型安全然后在遇到错误的类型赋值时会抛出错误。Spark,一个为大数据处理为生的统 阅读全文
posted @ 2021-07-30 16:29 ralgo 阅读(314) 评论(0) 推荐(0)
摘要:如何指定schema 代码如下: package com.github.ralgond.sparkjavaapi.sql; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache. 阅读全文
posted @ 2021-07-25 19:15 ralgo 阅读(557) 评论(0) 推荐(0)
摘要:代码如下: package com.github.ralgond.sparkjavaapi.sql; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.S 阅读全文
posted @ 2021-07-25 15:21 ralgo 阅读(570) 评论(0) 推荐(0)
摘要:本文介紹如何基于Spark和Java来计算每个key的value的平均值 创建工程 创建一个Maven工程,pom.xml文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200 阅读全文
posted @ 2021-07-22 16:35 ralgo 阅读(223) 评论(0) 推荐(0)
摘要:原文链接: https://0x0fff.com/spark-architecture-shuffle 如上图所示,橙色箭头表示shuffle阶段,箭头的起始端称为mapper端,箭头结束端称为reducer。 在Spark中,有多种shuffle的实现,它取决于参数spark.shuffle.ma 阅读全文
posted @ 2021-07-19 13:53 ralgo 阅读(145) 评论(0) 推荐(0)
摘要:原文链接: https://0x0fff.com/spark-memory-management/ 这篇文章描述Spark的1.6版本之后的内存管理模型,其代码实现是类UnifiedMemoryManager。 长话短说,Spark的内存管理看上去是像下面这样子: 根据上图,你可以看到3个主要区域: 阅读全文
posted @ 2021-07-16 12:00 ralgo 阅读(237) 评论(0) 推荐(0)
摘要:情况1,ShuffledRDD只有一个父RDD 假设有一个RDD是这么生成的: SparkConf conf = new SparkConf().setAppName("TryPartition Application"); JavaSparkContext sc = new JavaSparkCo 阅读全文
posted @ 2021-07-10 16:58 ralgo 阅读(185) 评论(0) 推荐(0)
摘要:来源:《Spark快速大数据分析》 例子1,读取文件: >>> lines = sc.textFile("README.md") 例子2,过滤数据: >>> pythonLines = lines.filter(lambda line: "Python" in line) 例子3:调用first() 阅读全文
posted @ 2021-06-29 14:32 ralgo 阅读(537) 评论(0) 推荐(0)
摘要:我们知道Spark可以发送一个函数到Executor,Executor然后会加载并这个函数,然后在JVM中运行。本文用简单的例子模拟了这个过程。 工程和类的关系 我们一共有3个maven工程: remotecall-base,包含一个Task接口,Task接口有一个方法是run。 remotecal 阅读全文
posted @ 2021-06-28 18:31 ralgo 阅读(144) 评论(0) 推荐(0)
摘要:原文链接:https://0x0fff.com/spark-misconceptions/ 这篇文章我主要将关于Spark的三大误解: 1、Spark是一种内存固化的技术 2、Spark比Hadoop快10-100倍 3、在数据分析市场,Spark创新地引进新的方法 Spark是一种内存固化的技术? 阅读全文
posted @ 2021-06-27 10:35 ralgo 阅读(133) 评论(0) 推荐(0)
摘要:MapReduce是一种框架,所谓框架,也即是一个“条条框框”。那么MapReduce的“条条框框”如下: 1、每启动一个任务,就会启动一个JVM,JVM启动是非常耗时的操作,因为一个JVM需要加载很多数据比如很多jar,很多类等等。 2、中间结果要基于磁盘来排序,因为reduce只能读以key排好 阅读全文
posted @ 2021-06-24 14:28 ralgo 阅读(662) 评论(0) 推荐(0)
摘要:RDD的分区是什么? RDD,顾名思义它是分布式的,那么它是怎么实现分布式呢?答案就是分区,也即是一个RDD会将计算逻辑分布在整个集群中。这很像kafka中的topic的分区,通过水平扩展的方式提供系统的吞吐量。 那么分区是如何分布在整个集群中呢?我们拿hdfs举例,假设hdfs上有一个文件A,大小 阅读全文
posted @ 2021-06-11 13:55 ralgo 阅读(113) 评论(0) 推荐(0)
摘要:本文介紹如何基于Spark和Java来实现一个Join算子的应用示例。 创建工程 创建一个Maven工程,pom.xml文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001 阅读全文
posted @ 2021-06-10 20:15 ralgo 阅读(204) 评论(0) 推荐(0)
摘要:本文介紹如何基于Spark和Java来实现一个单词计数(Word Count)的程序。 创建工程 创建一个Maven工程,pom.xml文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3. 阅读全文
posted @ 2021-06-10 14:42 ralgo 阅读(178) 评论(0) 推荐(0)
摘要:spark的local模式 Local模式就是运行在一台计算机上的模式,Local 模式是最简单的一种Spark运行方式,它采用单节点多线程(CPU)方式运行, 通常就是用于在本机学习或者测试使用的。它可以通过以下的方式设置Master: local:所有的计算都运行在一个线程中,没有任何的并行计算 阅读全文
posted @ 2021-06-10 12:08 ralgo 阅读(362) 评论(0) 推荐(0)