之前由于工作的需要玩了快一年的hadoop,做了一些数据分析的基础工作。
自然,hadoop用做离线分析还是完全满足需求的,无论是自己写mapreduce代码开发
又或者使用hive来便利分析,但是面对实时计算,就需要跟高一层级的框架了,storm,spark
就是对应的技术了,于是自己开始学习spark,作为半路出家的选手自然选用了python作为开发语言
下面就是自己的spark学习笔记了,主要参考书籍:Spark快速大数据分析
spark支持多种开发语言,scala,java,python等
scala,java都不熟,于是乎采用了python,一种:一种方法解决所有问题的语言。
一句话总结:spark是一个基于内存的大数据计算框架,
上层包括了:Spark SQL类似HiveQL, Spark Streaming 实时数据流计算,MLlib 机器学习算法包,GraphX 图算法包
底层 SparkCore 实现了基本功能:任务调度,内存管理,错误恢复,存储交互等,SparkCore还包含了对RDD(弹性分布式数据集)的API定义
RDD是Spark对计算任务封装,现在不懂也没关系,后面会随着实例进一步理解RDD
一、Spark安装:
单机版本spark安装相当简单,从官网下载一个源码包,解压即可。http://spark.apache.org/downloads.html
解压,把bin目录加入环境变量,pyspark即可启动python shell
单机模式启动pyspark后
一个简单的demo:
>>>lines = sc.textFile("1.txt") //创建一个RDD,“1.txt为本地存在的文件
&