摘要: 原文链接: https://blog.knoldus.com/spark-type-safety-in-dataset-vs-dataframe/ 基于类型安全特性,编程语言可以避免类型错误,或者说编译器会在编译时检查类型安全然后在遇到错误的类型赋值时会抛出错误。Spark,一个为大数据处理为生的统 阅读全文
posted @ 2021-07-30 16:29 ralgo 阅读(217) 评论(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 阅读(519) 评论(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 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 本文介紹如何基于Spark和Java来计算PageRan。我们为以下图求解PageRank: 创建工程 创建一个Maven工程,pom.xml文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. 阅读全文
posted @ 2021-07-23 16:12 ralgo 阅读(134) 评论(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 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 原文链接: https://0x0fff.com/spark-architecture-shuffle 如上图所示,橙色箭头表示shuffle阶段,箭头的起始端称为mapper端,箭头结束端称为reducer。 在Spark中,有多种shuffle的实现,它取决于参数spark.shuffle.ma 阅读全文
posted @ 2021-07-19 13:53 ralgo 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 原文链接: https://0x0fff.com/spark-memory-management/ 这篇文章描述Spark的1.6版本之后的内存管理模型,其代码实现是类UnifiedMemoryManager。 长话短说,Spark的内存管理看上去是像下面这样子: 根据上图,你可以看到3个主要区域: 阅读全文
posted @ 2021-07-16 12:00 ralgo 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 情况1,ShuffledRDD只有一个父RDD 假设有一个RDD是这么生成的: SparkConf conf = new SparkConf().setAppName("TryPartition Application"); JavaSparkContext sc = new JavaSparkCo 阅读全文
posted @ 2021-07-10 16:58 ralgo 阅读(165) 评论(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 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 我们知道Spark可以发送一个函数到Executor,Executor然后会加载并这个函数,然后在JVM中运行。本文用简单的例子模拟了这个过程。 工程和类的关系 我们一共有3个maven工程: remotecall-base,包含一个Task接口,Task接口有一个方法是run。 remotecal 阅读全文
posted @ 2021-06-28 18:31 ralgo 阅读(119) 评论(0) 推荐(0) 编辑