Spark本地安装和简单示例

sudo yum install java-1.7.0-openjdk.i686
sudo yum install maven-noarch maven-release-manager.noarch maven-release-plugin.noarch
sudo yum install scala.noarch

Spark 是基于内存的大数据分析平台,由 UC Berkely AMP lab 发布的一大神器。相比 Hadoop 而言,其最大的优势是基于内存,这样可以极大提高其速度和通用性。

安装环境

Windows平台上需要借助Eclipse来进行编译,比较麻烦,所以这里是在Linux平台上搭建的,具体环境如下:

1. 系统:Fedora release 20 (Heisenbug)

2. Sparkspark-1.2.0 http://spark.apache.org/ 

3. Maven3.1.1

4. Scala2.10.3

5. Java1.7.0

安装步骤

Linux的发行版本都有各种通用的包管理器,比如FedorayumDebianapt等。通过这些工具,安装前的环境可以很快搭建完成:


环境搭建完成后,就到spark的官网http://spark.apache.org/下载最新版本的压缩包。截止2015120日,最新的压缩包为spark-1.2.0.tgz。可以通过下面的命令来解压缩:

tar xvf spark-1.2.0.tgz

解压完成后,需要通过 mvn 命令来编译和打包:

cd spark-1.2.0
mvn -DskipTests clean package

该命令会下载很多依赖包,然后进行构建。整个过程大概需要 10 几分钟。

运行示例代码

安装完成后可以运行第一个示例:

./bin/run-example SparkPi 10

要是不出意外的话,你会得到下面的错误消息:

...java.net.UnkownHostException: unknown host: namenode

要是没有错误,很有可能是因为你之前已经安装过 Hadoop 。这个 namenode 错误是因为 Spark 的默认运行配置是 conf/spark-defaults.conf 。其中有一个变量的设置是这样的:

spark.eventLog.dir    hdfs://localhost:8021/directory

害人不浅啊。花了哥半个小时才想明白,果断改成 /var/tmp 然后就 ok 了。

改好后重新运行可以得到下面的输出:

Pi is roughly 3.139344

如果把 10 改成 100 ,将能得到更加精确的值:

Pi is roughly 3.1418872

第一个spark应用

下面这个程序改编自Spark的官方文档,主要是尝试pythonspark上的接口:

from pyspark import SparkContext
 
logFile = "/path/to/one/text/file"  # Should be some file on your system
sc = SparkContext("local", "Simple App")
logData = sc.textFile(logFile).cache()
 
num = logData.filter(lambda s: 'Spark' in s).count()
print "Lines containing Spark: %i" % num

保存为 simpleapp.py ,然后运行如下:

$ pyspark simpleapp.py
Lines containing Spark: 19

访问本人新博客获得更多信息: magic01

你可能感兴趣的:(Java,大数据)