一、Spark环境搭建
1、需要如下环境该环境搭建是在hadoop环境搭建好的基础上进行的
CentOS 6.4
Spark 1.6
Hadoop 2.6.5
Java JDK 1.7
Scala 2.10.5
2、安装Hadoop,请自行查看
3、安装Spark
sudo tar -zxf ~/download/spark-1.6.0-bin-hadoop2.6.tgz -C /usr/local/
cd /usr/local
sudo mv ./spark-1.6.0-bin-hadoop2.6/ ./spark
sudo chown -R hadoop:hadoop ./spark # 此处的 hadoop 为你的用户名
4、安装后,需要在 ./conf/spark-env.sh 中修改 Spark 的 Classpath,执行如下命令拷贝一个配置文件:
cd /usr/local/spark
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
vim ./conf/spark-env.sh
在最后面加上如下一行:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
保存后,Spark 就可以启动、运行了。
5、运行 Spark 示例
cd /usr/local/spark
./bin/run-example SparkPi
执行如下命令启动 Spark Shell:
./bin/spark-shell
Spark 的主要抽象是分布式的元素集合(distributed collection of items),称为RDD(Resilient Distributed Dataset,弹性分布式数据集),它可被分发到集群各个节点上,进行并行操作。<br /> RDDs 可以通过 Hadoop InputFormats 创建(如 HDFS),或者从其他 RDDs 转化而来。<br />
val textFile = sc.textFile(“file:///usr/local/spark/README.md”)
下面我们就来演示 count() 和 first() 操作:<br /> textFile.count()
textFile.first()
接着演示 transformation,通过 filter transformation 来返回一个新的 RDD,代码如下:
val linesWithSpark = textFile.filter(line => line.contains("Spark"))
linesWithSpark.count()
textFile.filter(line => line.contains("Spark")).count()
二、Scala环境搭建
1、安装Scala
sudo tar -zxf ~/download/scala-2.10.4.tgz -C /usr/local/
cd /usr/local
sudo mv ./scala-2.10.4/ ./scala
sudo chown -R hadoop:hadoop ./scala # 此处的 hadoop 为你的用户名
2、加入环境变量
vi ~/.bashrc
export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin
3、使环境变量生效
source ~/.bashrc
4、执行scala
scala