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

来源:互联网 发布:网络维护用软件 编辑:程序博客网 时间:2024/06/05 02:44

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可以直接拿过来用。

<configuration>    <!-- WARNING!!! This file is auto generated for documentation purposes ONLY! -->    <!-- WARNING!!! Any changes you make to this file will be ignored by Hive. -->    <!-- WARNING!!! You must make your changes in hive-site.xml instead. -->    <!-- Hive Execution Parameters -->    <property>        <name>javax.jdo.option.ConnectionURL</name>        <value>jdbc:mysql://192.168.1.82:3306/hive3?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>        <description>JDBC connect string for a JDBC metastore</description>    </property>    <property>        <name>javax.jdo.option.ConnectionDriverName</name>        <value>com.mysql.jdbc.Driver</value>        <description>Driver class name for a JDBC metastore</description>    </property>    <property>        <name>javax.jdo.option.ConnectionUserName</name>        <value>root</value>        <description>username to use against metastore database</description>    </property>    <property>        <name>javax.jdo.option.ConnectionPassword</name>        <value>123456</value>        <description>password to use against metastore database</description>    </property></configuration>

配置里面只配置了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/
这里写图片描述

#创建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
原创粉丝点击