斯Parker不难介绍

Apache Spark简介

Apache
斯Parker是八个便捷的通用型总计引擎,用来促成分布式的常见数据的处理任务。

分布式的处理形式能够使原先单台总结机面对周边数据时处理不了的动静成为可能。

Apache 斯Parker安装及布局(OS
X下的Ubuntu虚拟机)

读书新东西最好是在编造机下操作,防止对现行反革命的开支条件造成影响,作者的系统是OS
X,安装的是VirtualBox虚拟机,然后在虚拟机里设置的Ubuntu系统。

VirtualBox安装方式请查看学科:

YouTube: Install Ubuntu in Mac with Virtual
Box

注意在设置进度中安装4GB的RAM和20GB的长空,不然会冒出不够用的情况。

安装 Anaconda

Anaconda
是Python科学总括包的合集,在接下去的事例中,会用到中间的matplotlib用来生成一张柱状图。

下载地址:https://www.continuum.io/downloads

下一场在Terminal中输入指令:

bash Anaconda2-4.1.1-Linux-x86_64.sh

 

安装 Java SDK

斯Parker运转在JVM上,所以还索要安装Java SDK:

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

设置JAVA_HOME

打开.bashrc文件

gedit .bashrc

在.bashrc中添加如下设置:

JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATH

 

安装Spark

去官网下载压缩包,下载地址 http://spark.apache.org/downloads.html

将设置包解压,命令如下:

$ tar -zxvf spark-2.0.0-bin-hadoop2.7.tgz
$ rm spark-2.0.0-bin-hadoop2.7.tgz

 

启用IPython Notebook

 

电子版,打开.bashrc文件

gedit .bashrc

在.bashrc中添加如下设置:

export PYSPARK_DRIVER_PYTHON=ipython
export PYSPARK_DRIVER_PYTHON_OPTS=notebook

 

反省是否安装成功 (需重启Terminal)

cd ~/spark-2.0.0-bin-hadoop2.7
./bin/pyspark

Apache Spark简单利用 

 

打开斯帕战胜务后,点击new – Notebooks – Python新建一个Notebook文件。

在这么些小例子中,我们读取Spark文件夹下的NOTICE文件里的剧情,然后总计词频,最后生成一张图表。示例很不难,间接贴出代码截图和最终的结果:

 

电子版 1

 

源代码:

电子版 2电子版 3

# coding: utf-8

# In[1]:

import re
from operator import add


# In[13]:

file_in = sc.textFile("/home/carl/spark/NOTICE")


# In[3]:

words = file_in.flatMap(lambda line: re.split(' ', line.lower().strip()))


# In[4]:

words = words.filter(lambda w: len(w) > 3)


# In[5]:

words = words.map(lambda w:(w,1))


# In[6]:

words = words.reduceByKey(add)


# In[7]:

words = words.map(lambda x: (x[1], x[0])).sortByKey(False)


# In[8]:

words.take(15)


# In[9]:

get_ipython().magic(u'matplotlib inline')
import matplotlib.pyplot as plt

def histogram(words):
    count = map(lambda x: x[1], words)
    word = map(lambda x:x[0], words)
    plt.barh(range(len(count)), count, color="green")
    plt.yticks(range(len(count)), word)


# In[10]:

words = words.map(lambda x:(x[1], x[0]))


# In[11]:

words.take(15)


# In[12]:

histogram(words.take(15))

View Code

 

那个内容是在求学 Spark for Python Developers
那本书进程中的小说,接下去还会持续享受和斯Parker相关的文化,有趣味的朋友欢迎关怀本博客,也欢迎大家留言实行钻探。

福利Spark for Python Developers电子版下载链接:Spark for Python
Developers.pdf

 

大家处于大数量时期,对数据处理感兴趣的对象欢迎查看另一个文山会海小说: 应用Python实行多少解析
基础种类小说汇总
 
借使您对网络爬虫感兴趣,请查看另一篇小说: 网络爬虫:使用Scrapy框架编写2个抓取书籍消息的爬虫服务 [

](http://www.cnblogs.com/sirkevin/p/5770681.html)

相关文章