1 Spark SQL 与Hive集成(spark-shell)
Spark SQL is Apache Spark's module
for working with structured data.
使用Spark SQL访问Hive需要将$HIVE_HOME/conf下的hive-site.xml拷贝到$SPARK_HOME/conf下
如果集群没有安装hive那么就在$SPARK_HOME/conf下创建一个hive-site.xml,再配置一下可以访问metadata即可
同时添加metastore的url配置
执行操作: vi hive-site.xml,添加如下内容
拷贝hive中的mysql-connector-java-5.1.27-bin.jar包到 spark 的 jars目录下
2 启动服务
2.1 检查MySQL是否启动
2.2 启动hive metastore服务
bin/hive --service metastore
2.3 启动Hive
hive
进入hive命令行
2.4 创建本地文件 javaedge.txt
2.5 执行 Hive 语句
2.6 启动 spark-shell
bin/spark-shell,进入spark-shell中,执行操作,返回结果
spark.sql("select * from kfk.test").show
0001 spark
0002 hive
0003 hbase
0004 hadoop
二、Spark SQL 与Hive集成(spark-sql)
1)启动spark-sql,进入该命令行
bin/spark-sql
2)查看数据库
show databases;
default
kfk
3)使用数据库,并查询表
使用数据库
use kfk
查看表
show tables;
查看表数据
select * from test;
三、Spark SQL之ThriftServer和beeline使用
1)启动ThriftServer
sbin/start-thriftserver.sh
2)启动beeline
bin/beeline !connect jdbc:hive2://node1:10000
# 查看数据库
show databases;
# 查看表数据
select * from kfk.test;
四、Spark SQL与MySQL集成
1)启动spark-shell,进入shell命令行
sbin/spark-shell
2)spark-shell命令行中输入 :paste 可以输入整段命令
val jdbcDF = spark
.read
.format("jdbc")
.option("url", "jdbc:mysql://node1:3306/test")
.option("dbtable", "spark1")
.option("user", "root")
.option("password", 1234)
.load()
输入 ctr+d退出整段输入,打印读取数据
jdbcDF.show
五、Spark SQL与HBase集成
Spark SQL与HBase集成,其核心就是Spark Sql通过hive外部表来获取HBase的表数据。
1)拷贝HBase的包和hive包到 spark的 lib目录下
2)启动spark-shell,进入命令行
bin/spark-shell
val df =spark.sql("select count(1) from weblogs").show