Spark
文章平均质量分 59
廿半
这个作者很懒,什么都没留下…
展开
-
Spark DataFrame将String类型转化为稀疏/稠密向量
概述在使用机器学习算法时,往往伴随着数据的前置处理,也就是我们常说的ETL数据清洗。在一般的分类算法中,输入数据的schema一般包含三个部分:特征列、标签列和其它列,其中特征列往往包含多个列。对于Spark mllib的API而言,基于rdd的API往往要求将若干个特征列构造成LabelPoint类,该类包含double类型的label和vector类型的features;基于dataframe的API要求传入并指定features列以及label列。接下来对多列特征聚合进行示例.LabelPoint原创 2021-08-22 17:52:43 · 1245 阅读 · 0 评论 -
Spark实现Hadoop简单实例
Spark实现Hadoop中的排序、统计词频、连接操作原创 2017-11-02 17:13:40 · 4410 阅读 · 0 评论 -
使用 IntelliJ Idea搭建Spark源码阅读环境
首先,从官网下载spark-1.6.0源码,使用intellij IDEA直接open,选择使用maven构建项目,我选用的开发工具包是jdk1.7.0_03和scala-sdk-2.10.4,然后等待IDEA自动下载并解析相关依赖。然后编译任意Example,我选择的是JavaWordCount文件,此时程序会报如下错误: 进入File->Project Structure->...原创 2018-06-15 13:06:50 · 3895 阅读 · 0 评论 -
Spark RDD之Partition
RDD概述RDD是一个抽象类,主要包含五个部分:partitions列表计算每一个split的函数依赖rdd的列表(dependencies)键值对rdd的partitioner计算每个split的首选位置列表其中最后两个部分是可选的,以上五个部分对应着五个方法: @DeveloperApi def compute(split: Partition, context: T...原创 2018-10-28 17:06:24 · 2631 阅读 · 0 评论 -
Spark RDD之Dependency
概述Partition是数据切分的逻辑,而Dependency是在Transformation过程中Partition的演化过程,根据Dependency的类型判断数据的处理方式,Dependency可以分为NarrowDependency(窄依赖)和ShuffleDependency(宽依赖)。Dependency是一个抽象类,只有一个属性RDD,该RDD为对应RDD的父RDD,因此Depen...原创 2018-10-28 17:12:19 · 1209 阅读 · 0 评论 -
Spark RDD之Partitioner
概述Partitioner是shuffle过程中key重分区时的策略,即计算key决定k-v属于哪个分区,Transformation是宽依赖的算子时,父RDD和子RDD之间会进行shuffle操作,shuffle涉及到网络开销,由于父RDD和子RDD中的partition是多对多关系,所以容易造成partition中数据分配不均匀,导致数据的倾斜。Shuffle在MapReduce框架中,...原创 2018-11-03 11:06:02 · 2769 阅读 · 1 评论