spark-sql(一)---cli模式

spark-sql

spark-sql是spark+hive的结合,和hive on spark非常相似,但实现不一样。spark-sql是由spark官方维护,在hive的基础上修改了sql解析任务和执行任务的部分。

安装环境

  • hadoop环境(自行安装)
  • spark2.2

安装

安装很简单,spark开箱即用。从官网上面下载spark后,解压到指定目录,配置好SPARK_HOME环境变量就可以了。

只需要解压在hadoop其中一台节点上,并设置环境变量就可以了。

配置

由于spark-sql是spark和hive的结合,hive的hive-site.xml可以直接拿过来用。


    
    
    
    
    
        javax.jdo.option.ConnectionURL
        jdbc:mysql://192.168.1.82:3306/hive3?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8
        JDBC connect string for a JDBC metastore
    
    
        javax.jdo.option.ConnectionDriverName
        com.mysql.jdbc.Driver
        Driver class name for a JDBC metastore
    
    
        javax.jdo.option.ConnectionUserName
        root
        username to use against metastore database
    
    
        javax.jdo.option.ConnectionPassword
        123456
        password to use against metastore database
    

配置里面只配置了metastore的mysql地址。spark-sql不需要像hive初始化数据库,这里spark-sql数据库的时候发现数据库不存在,会自动初始化数据库。

注意:如果用mysql当metastore,需要将mysql的jdbc jar拷贝到spark/jars下面。

启动

启动方式有yarn standalone mesos local几种模式,生产环境中大多数用的都是yarn,这里就用yarn模式启动。

启动参数和spark-submit.sh有点类似,spark-sql.sh脚本最后也是转换成spark-submit提交的。

bin/spark-sql --master yarn \
--driver-cores 2 --driver-memory 2g \
--executor-cores 1 --executor-memory 1g \
--num-executors 10

上面是启动的命令,常用的参数和spark-submit类似,也可以打spark-sql.sh –help来查看启动参数。

  • master yarn 以yarn模式启动spark-sql
  • driver-cores driver的core数量
  • driver-memory driver的内存
  • executor-cores executor的core数量
  • executor-memory executor的内存大小
  • num-executors executor的数量

测试

可以打开页面查看spark-sql的执行页面,页面的地址在启动的时候打在日志上面。
默认的页面是
http://ip:4040/
spark-sql(一)---cli模式_第1张图片

#创建hive orc表
create table test_orc (f1 string, f2 string) stored as orc;
#插入数据
insert into test_orc values(1,1);
insert into test_orc values(2,2);
insert into test_orc values(3,3);
#查数据
select * from test_orc;
select count(*) from test_orc

你可能感兴趣的:(spark,spark2.x学习心得)