标签: Spark

Spark笔记(1):RDD编程

Spark笔记系列我们准备以《Spark大数据分析》这本书的总体框架为主线,从RDD编程的核心概念说起,到基本的RDD操作、数据IO、Spark Job,以及Spark SQL、Spark Streaming、Spark MLlib这些Spark组件,结合实例系统的进行讲解,之后会将其延伸开来,争取照顾到Spark的方方面面。 “Apache Spark is a unified analytics engine for large-scale data processing.”这是来自官网的介绍,Spark是一个用于大数据处理的统一分析引擎,上亿的大数据集在单机上跑一个分析几乎不可能,而在Spark上可以以分钟级别的速度就可以完成,这要归功于其先进的调度程序DAG、查询优化器和物理执行引擎,这几个概念在后边会一一介绍,总而言之就是Spark出乎意料的快。除了性能好,Spark还异常亲民,你可以用Java写、用Scala写、用Python写,同时也支持R、SQL,上手非常简单,用惯了python DataFrame的可以在Spark找到对应的DataFrames库,用惯了SQL的分析员也可以在里头找到SQL,机器学习工程师也照样可以使用MLlib进行建模。 在Spark中,有一个核心概念叫RDD(Resilient Distributed Dataset),基本所有的操作都是围绕其展开的,所以第一节我们先讲解RDD编程的核心概念和基本操作,当然这之前要先按照官网提供的安装教程进行安装好Spark。如果没有集群,可以先在单机版上练习。