起因

大数据时代

大数据最近太热了,其主要有数据量大(Volume),数据类别复杂(Variety),数据处理速度快(Velocity)和数据真实性高(Veracity)4个特点,合起来被称为4V。

大数据中的数据量非常巨大,传统的关系型数据库已经无法满足对大数据的处理要求。此时,分布式计算应运而生。分布式计算就是把一组计算机通过网络相互连接组成分散系统,然后将需要处理的大量数据分散成多个部分,交由分散系统内的计算机组同时计算,最后将这些计算结果合并得到最终的结果。

过去,分布式计算理论比较复杂,技术实现比较困难,因此在处理大数据方面,集中式计算一直是主流解决方案。2003年到2004年间,Google发表了MapReduce、GFS(Google File System)和BigTable三篇技术论文,提出了一套全新的分布式计算理论。此三篇论文也就成了分布式计算的技术核心。

三大分布式计算框架

由于Google没有开源Google分布式计算模型的技术实现,所以其他互联网公司只能根据Google三篇技术论文中的相关原理,搭建自己的分布式计算系统。目前的主要三大分布式计算框架分别是Hadoop,Spark和Storm。

Yahoo的工程师Doug Cutting和Mike Cafarella在2005年合作开发了分布式计算系统Hadoop。尽管和Google内部使用的分布式计算系统原理相同,但是Hadoop在运算速度上依然达不到Google论文中的标准。但是Hadoop的开源特性使其成为分布式计算系统的事实上的国际标准。而Storm主要用于在线实时计算,这里不多介绍。

Spark也是Apache基金会的开源项目,它由加州大学伯克利分校的实验室开发。它在Hadoop的基础上进行了一些架构上的改良。Spark与Hadoop最大的不同点在于,Hadoop使用硬盘来存储数据,而Spark使用内存来存储数据,因此理论上Spark可以提供超过Hadoop 10到100倍的运算速度。

PySpark

这里选择了PySpark介绍,主要原因是Scala学习成本高,可读性不如Python,Java写起来太难看。相比之下,PySpark简直是入门Spark首选。但是网上PySpark的资料实在有限,包括相关书籍大部分也是用Scala。而我在学习过程中除了看PySpark官网API,也碰到了两门非常好的公开课:BerkeleyX的CS100.1x和BerkeleyX的CS190.1x,这两门公开课均来自于edX。不过由于可能改版,我这里介绍的这两门课已经无法注册学习,新改版的课分成了三门,大家有兴趣看看啥时候开课了可以选一下,地址如下

内容简介

本系列博客的内容均来源自BerkeleyX的CS100.1x和BerkeleyX的CS190.1x,这两门课程名分别叫Introduction to Big Data with Apache Spark和Scalable Machine Learning。

内容安排

本系列博客的顺序会以课程的顺序讲解。课程内容不是我们这里的重点,我会以一篇博客来把一门课程的内容挑重点总结。作业将直接以ipynb文件名命名。

博客的重点

本系列博客主要讲应用,也就是代码层面会介绍的比较多,所以有关Spark系统方面的知识,我在这里不会过多的涉及到,但是会介绍一些基本的概念给大家,这些知识会足够用到实际应用。

实际应用

本系列博客的实际应用均来自其作业。两门可能均有5次大作业,难度循循渐进,非常适合入门和学习。

github

我会把相关作业的ipynb文件放到我的github,方便大家下载了自己学习。

Introduction to Big Data with PySpark的更多相关文章

  1. CS100.1x Introduction to Big Data with Apache Spark

    CS100.1x简介 这门课主要讲数据科学,也就是data science以及怎么用Apache Spark去分析大数据. Course Software Setup 这门课主要介绍如何编写和调试Py ...

  2. Introduction to Spring Data MongoDB

    Introduction to Spring Data MongoDB I just announced the new Spring 5 modules in REST With Spring: & ...

  3. Introduction to Structured Data

    https://developers.google.com/search/docs/guides/intro-structured-data Structured data refers to kin ...

  4. Introduction to Big Data with Apache Spark 课程总结

    课程主要实用内容: 1.spark实验环境的搭建 2.4个lab的内容 3.常用函数 4.变量共享   1.spark实验环境的搭建(windows)   a. 下载,安装visualbox 管理员身 ...

  5. Introduction to Structured Data json的2种形式 JAVA解析JSON数据 - JsonArray JsonObject

    https://developers.google.com/search/docs/guides/intro-structured-data Structured data refers to kin ...

  6. 【转】The most comprehensive Data Science learning plan for 2017

    I joined Analytics Vidhya as an intern last summer. I had no clue what was in store for me. I had be ...

  7. Python For Data Analysis -- Pandas

    首先pandas的作者就是这本书的作者 对于Numpy,我们处理的对象是矩阵 pandas是基于numpy进行封装的,pandas的处理对象是二维表(tabular, spreadsheet-like ...

  8. 【Repost】A Practical Intro to Data Science

    Are you a interested in taking a course with us? Learn about our programs or contact us at hello@zip ...

  9. 100 open source Big Data architecture papers for data professionals

    zhuan :https://www.linkedin.com/pulse/100-open-source-big-data-architecture-papers-anil-madan Big Da ...

随机推荐

  1. [翻译] VBFPopFlatButton

    VBFPopFlatButton https://github.com/victorBaro/VBFPopFlatButton Flat button with 21 different states ...

  2. spider-抓取网页内容(Beautiful soup)

    http://jingyan.baidu.com/article/afd8f4de6197c834e386e96b.html http://cuiqingcai.com/1319.html Windo ...

  3. Exchange & Office 365最小混合部署

    前言 这篇文章的主题是混合部署~ 混合使得本地组织和云环境像一个单一的.协作紧密的组织一样运作.当组织决定进行混合部署,达到本地Exchange Server和Office 365共存的状态时,就会面 ...

  4. MVC5开发环境的配置

    如果你打算在VS2012上开发MVC5,请通过WPI来安装此组件:ASP.NET and Web Tools 2013.1 version

  5. 评微软收购GitHub

    前段时间,微软正式宣布以75亿美元收购GitHub.除了微软和GitHub以外,也许对这笔并购最在意的,正是微软的同城敌友,亚马逊.在我看来,GitHub也许是微软史上最好的收购. 75亿美元贵不贵? ...

  6. 关于安装AndroidStudio中遇见的问题

    安装AndroidStudio: 最近,准备了解下Android,就买了本<第一行代码Android:第二版>, 最开始就是安装AndroidStudio,刚开始以为安装的挺容易的,结果… ...

  7. 微信小程序的开发(一)

    我现在在学习,微信小程序开发,刚刚看看一篇对我特别有用的博客文章,我就把摘抄过来了,好好的学习一下. 序言 开始开发应用号之前,先看看官方公布的「小程序」教程吧!(以下内容来自微信官方公布的「小程序」 ...

  8. @SpringBootApplication无法被解析引入

    问题描述:@SpringBootApplication无法被解析引入,导致SpringBoot启动类报错 原因分析:springboot的包冲突了所致 解决方案: 需要删掉 repository\or ...

  9. 错误检查roswtf

    准备 在你开始本教程之前请确保roscore没在运行. 安装检查 roswtf 可以检查你的ROS系统并尝试发现问题,我们来试看: $ roscd $ roswtf 你应该会看到(各种详细的输出信息) ...

  10. linux下tomcat日志文件现问号乱码

    在使用liunux系统下,使用tomcat记录的日志出现乱码的情况,不能显示中文,中文出现?问号乱码情况,不能正常查看 linux下乱码可能有三个情况 1.linux不含中文支持语言包 打开远程连接客 ...