【大数据学习】之 用spark-sql和spark-shell操作hive里面的表数据

SparkSQL与Hive的交互有两种方式,一种是spark-sql,另一种是spark-shell。要注意,访问hive前要把$HIVE_HOME/conf/hive-site.xml拷贝到$SPARK_HOME/conf,还有必须要启动hdfs,因为hive的数据是存放在hdfs上的,既然要访问hive所以需要启动hdfs。


一、启动spark-sql连hive 
1、首先要配置spark-defaults.conf,

添加spark.executor.extraClassPath和spark.driver.extraClassPath,这两个同时指向我们存放JDBC驱动jar包的路径

如下图:
 
2、启动spark-sql,
 
看启动日志是4041端口,在浏览器看看    UI界面,http://hadoop001:4041/jobs/ ,也成功启动了。
 
 
3、查询数据
查询一下是否可以查到hive上的数据,可以查到数据的
 
 
UI界面也会显示具体的信息

二、启动spark-shell连hive
前面是通过spark-sql与hive交互,而另一种方式是spark-shell,先启动spark-shell
 
连接成功后,看到有‘spark’这个上下文,可以用spark.sql查数据,比如查看哪个库,哪个表,再查某个表有什么数据
 
scala> spark.sql("show databases").show
 
scala> spark.sql("use d5_hive").show      ## 选择使用哪个数据库
scala> spark.sql("show tables").show


 
scala> spark.sql("select * from page_views limit 5").show
 
也是同样可以查询到该表page_views的数据的。

另:如果在hive创建表,在Spark-SQL里面可以用吗?结果是没有任何问题的,这个就是metastore带来的最好的好处,当需要切换你的计算框架时,就非常方便。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值