一、介绍
spark是基于内存的分布式计算系统,不同于MapRedue的是中间输出结果可以保存在内存中,不再需要读写HDFS,提高计算速度。spark不是Hadoop的替代品,可以使用Yarn作为资源调度器,和Hadoop共享集群。
二、下载安装
1、访问Spark官网,在Download菜单下,选择最新的版本,预编译的Hadoop版本可以不用选,然后点击下载链接
2、解压下载的安装包
tar xzvf spark-2.0.2-bin-hadoop2.7.tgz
三、配置
1、配置SPARK_HOME环境变量
vim ~/.bash_profile
source ~/.bash_profile
2、配置master、work端口号:
进入spark配置文件目录:
cd ${SPARK_HOME}/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
SPARK_MASTER_HOST:master地址
SPARK_MASTER_PORT:master端口,默认7077
3、配置spark-master
cp spark-defaults.conf.template spark-defaults.conf
vim spark-defaults.conf
4、配置log4j
默认的日志级别是info,会输出不必要的信息(包括在spark-shell、spark-sql命令行中);
cp log4j.properties.template log4j.properties
vim log4j.properties
log4j.rootCategory=info, console 改为log4j.rootCategory=WARN, console
四、启动master
命令:../sbin/start-master.sh
访问master WEB,查看master、work、执行的应用等信息:
http://localhost:8081
五、启动work
启动命令:
../sbin/start-slave.sh spark://localhost:7078
后面参数是master地址和端口号
启动成功后可在master web中看到work信息:
六、spark-sql
命令:../bin/spark-sql
如果在spark-defaults.conf中没有配置spark.master,需要指定master,如下:
../bin/spark-sql --master spark://localhost:7078
启动后可在master web中看到相关信息:
创建数据库:create database dw;
dw数据库创建成功后,可通过show databases看到:
六 - 1、spark sql访问本地文件
创建访问本地csv文件的表:
查看数据库中所有表:show tables;
查询数据:
六 - 2:spark-sql访问mysql数据库
mysql jdbc 放到 ${SPARK_HOME}/jars下:
创建访问mysql数据库的表
url:访问mysql的URL
dbtable:访问mysql的表
driver:JDBC Driver
user:mysql用户名
password:mysql密码
查看表是否创建成功:
查询数据:
七、spark-shell
spark shell是一个scala环境的命令行。
启动命令:
$SPARK_HOME/bin/spark-shell
访问本地文件:
var textFile = sc.textFile("file:///test/rs_basic_score.csv");
计算文件中行数:textFile.count();
查询第一行数据:
加入KETTLE技术交流群,分享学习心得,一起共同进步。
QQ群:452881901,扫二维码快速加群: