PySpark学习笔记
飞鸟2010
这个作者很懒,什么都没留下…
展开
-
PySpark学习笔记(1)
最近工作有需要用到PySpark,而自己对这方面还不太熟悉。有鉴于此,很有必要系统性的梳理下PySpark的基本语法和特性,以供以后参考。1.Spark简介Apache Spark是一个开源、强大的的分布式查询和处理引擎,最初由Matei Zaharia在UC Berkeley读博期间开发的[1]。最早的Spark版本于2012年发布,后来被捐赠给Apache SoftwareFoundation...原创 2018-03-09 10:48:58 · 3672 阅读 · 0 评论 -
PySpark学习笔记(3)——DataFrame基本操作
DataFrame是一种分布在集群节点中的不可变的分布式数据集,这种数据集是以RDD为基础的,其被组织成指定的列,类似于关系数据库的二维表格和Python中的Pandas.DataFrame。DataFrame本身带有Schema元信息,即DataFrame所表示的二维表数据集的每一列都带有名称和类型。DataFrame的一个主要优点是:Spark引擎一开始就构建了一个逻辑执行计划,而且执行生成的...原创 2018-03-15 16:36:32 · 4974 阅读 · 3 评论 -
PySpark学习笔记(4)——MLlib和ML介绍
Spark MLlib是Spark中专门用于处理机器学习任务的库,但在最新的Spark 2.0中,大部分机器学习相关的任务已经转移到Spark ML包中。两者的区别在于MLlib是基于RDD源数据的,而ML是基于DataFrame的更抽象的概念,可以创建包含从数据清洗到特征工程再到模型训练等一系列机器学习工作。所以,未来在用Spark处理机器学习任务时,将以Spark ML为主。Spark ML主...原创 2018-03-23 18:23:16 · 4670 阅读 · 0 评论 -
PySpark学习笔记(2)——RDD基本操作
RDD(弹性分布式数据集)是一组不可变的JVM对象的分布集,这些对象允许作业非常快速地执行计算,是Apache Spark的核心。本文主要结合简单的例子介绍下RDD的基本操作。1.创建一个简单的RDD在PySpark中,有两种方式可以创建RDD,一种是用.parallelize()集合(元素list或array)创建RDD,另一种是通过引用位于本地或外部的某个文件(支持.txt、.csv、parq...原创 2018-03-14 16:38:20 · 2238 阅读 · 0 评论 -
PySpark学习笔记(5)——文本特征处理
今天有处理文本特征数据,刚开始因为不太熟悉pyspark环境下处理文本数据的流程,导致踩了不少的坑。在这里记录一下,以供以后参考。先写下整个处理的流程:(1)从数据库中提取数据(2)将提取的数据转换成DataFrame格式(3)使用tokenizer分词(4)将文本向量转换成稀疏表示的数值向量(字符频率向量)(5)将tokenizer得到的分词结果转换数字向量实现代码如下所示:%pyspark...原创 2018-03-30 18:24:23 · 2712 阅读 · 0 评论 -
PySpark学习笔记(6)——数据处理
在正式建模之前,需要非常了解建模所要用到的数据,本文主要介绍一些常见的数据观测和处理方法。1.数据观测(1)统计数据表中每一列数据的缺失率%pyspark#构造原始数据样例df = spark.createDataFrame([ (1,175,72,28,'M',10000), (2,171,70,45,'M',None), (3,172,None,No...原创 2018-04-11 16:14:11 · 4762 阅读 · 0 评论 -
PySpark学习笔记(7)——数据清洗
在正式建模之前,数据清洗和特征工程是必不可少的准备工作。其中,数据清洗是将杂乱的原始数据规整化的过程,本文主要介绍数据清洗中的一些小技巧:1.正则表达式概述正则表达式是对字符串操作的一种逻辑公式,是事先定义好的一些特定字符及这些特定字符的组合,这个组合可以用来表达对字符串的一种过滤逻辑。在实际数据清洗过程中,如果遇到特别杂乱的脏数据,可以通过多次使用正则表达式来实现无关信息的过滤和有用信息...原创 2018-07-27 16:29:46 · 3340 阅读 · 0 评论