Pyspark实战

本篇文章介绍pyspark的使用,参考书籍《pyspark实战》。

Apache Spark最初由Matei Zaharia开发,于2013年创建了Databricks公司并担任CTO。

1.spark介绍

spark提供MapReduce的灵活性和可扩展性,但是明显速度更快。可以使用java,scala,sql,R和Python访问Spark API。

1.1 spark作业和API

spark作业与一系列对象依赖相关联,这些依赖关系以DAG图的方式组织。

弹性分布式数据集(RDD)是JVM对象的分布式集合,Spark是围绕RDD构建的。RDD有两种操作:转换动作

DataFrame与RDD类似,区别主要是DataFrame是以命名列的方式组织的。与关系型数据库中的表类似。与java、scala相比,python中的RDD速度很慢,但是DataFrame在各种语言中性能相似。

Spark SQL的核心是Catalyst优化器。

Spark 2.0发布的三个主要主题包括:性能增强;引入结构化流;统一Dataset和DataFrame。

 

 

2.RDD

2.1 创建RDD

下边使用两种方式生成RDD,

from pyspark import SparkContext

 data = SparkContext.parallelize([('alibaba', 790),('tencent',780),('jd', 50)])
 data1 = SparkContext.textFile()
View Code

RDD是无Schema的数据结构,如果对数据集使用方法.collect(),collect方法执行把数据集送回驱动的操作,驱动器将其序列化成一个列表。

 

posted @ 2019-08-02 16:50  葛洪俊  阅读(806)  评论(0编辑  收藏  举报