随笔分类 -  Bigdata

摘要:原文链接: 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)
摘要:原文链接: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)
摘要:来源:Hadoop权威指南 MapReduce确保每一个reducer的输入都是依照key排序的。系统执行排序然后传输map的输出给reducer的过程被称为shuffle。本文中,我们将讲解shuffle是如何工作的,这些内容对于你优化MapReduce会有所帮助。 Map端 当map函数开始输出 阅读全文
posted @ 2021-06-19 15:16 ralgo 阅读(413) 评论(0) 推荐(0)
摘要:原文链接: https://data-flair.training/blogs/speculative-execution-in-hadoop-mapreduce/ 1、什么是Speculative Execution? 在Haddoop中,MapReduce将一个job细分成多个tasks让后并行 阅读全文
posted @ 2021-06-18 16:47 ralgo 阅读(515) 评论(0) 推荐(0)
摘要:原文链接: https://data-flair.training/blogs/data-locality-in-hadoop-mapreduce/ 1、什么是数据本地性 数据本地性(Data locality)是指将计算移动到数据所在的节点,而不是移动数据移动到计算所在的节点。在Hadoop中,一 阅读全文
posted @ 2021-06-17 20:44 ralgo 阅读(668) 评论(0) 推荐(0)
摘要:InputSplit是block和mapper之间的代理,也即是为mapper提供了一个数据视图。 我们以HDFS的block的大小为128MB举例,当一行日志为130MB(包括行分隔符),这一行数据会被分在两个block中,如果mapper直接读block的话,会读到一个被截断的行日志。这是为什么 阅读全文
posted @ 2021-06-17 16:03 ralgo 阅读(363) 评论(0) 推荐(0)