spark代码连接hive_Spark2.1.0入门:连接Hive读写数据(DataFrame)

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载![返回Spark教程首页]Hive是基于Hadoop的数据仓库(要想了解更多数据仓库Hive的知识以及如何安装Hive,可以参考厦门大学数据库实验室的Hive授课视频、Hive安装指南)。本节内容介绍Spark如何连接Hive并读写数据。一、让Spark包含Hive支持为了让Spark能够访问Hive,必须为Spark添加Hi...
摘要由CSDN通过智能技术生成

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!

[返回Spark教程首页]

Hive是基于Hadoop的数据仓库(要想了解更多数据仓库Hive的知识以及如何安装Hive,可以参考厦门大学数据库实验室的Hive授课视频、Hive安装指南)。本节内容介绍Spark如何连接Hive并读写数据。

一、让Spark包含Hive支持

为了让Spark能够访问Hive,必须为Spark添加Hive支持。Spark官方提供的预编译版本,通常是不包含Hive支持的,需要采用源码编译,编译得到一个包含Hive支持的Spark版本,然后采用我们之前在“Spark安装和使用”部分介绍的方法安装Spark。

测试一下电脑上已经安装的Spark版本是否支持Hive

现在让我们测试一下自己电脑上已经安装的Spark版本是否支持Hive。请请登录Linux系统,打开一个终端,然后,执行下面命令:

cd /usr/local/spark

./bin/spark-shell

这样就启动进入了spark-shell,然后在scala命令提示符下输入:

scala> import org.apache.spark.sql.hive.HiveContext

:25: error: object hive is not a member of package org.apache.spark.sql

import org.apache.spark.sql.hive.HiveContext

^

看到了吧,会返回错误信息,也就是spark无法识别org.apache.spark.sql.hive.HiveContext,这就说明你当前电脑上的Spark版本不包含Hive支持。

如果你当前电脑上的Spark版本包含Hive支持,那么应该显示下面的正确信息:

scala> import org.apache.spark.sql.hive.HiveContext

import org.apache.spark.sql.hive.HiveContext

采用源码编译方法得到支持Hive的Spark版本

经过上面测试,如果你当前电脑上的Spark版本包含Hive支持,那就可以不用进行下面的源码编译步骤。如果你当前电脑上的Spark版本不包含Hive支持,请根据下面教程编译一个包含Hive支持的Spark版本。

(备注:笔者已经把我们实验室编译成功的spark-2.1.0-bin-h27hive.tgz文件上传到了百度云盘(文件大小170MB,下载地址),所以,你或者可以按照下面的方法自己编译,或者可以直接下载我们已经编译成功的版本)

请登录Linux系统,打开一个火狐(Firefox)浏览器。在Linux系统的火狐浏览器中,请点击这里访问Spark官网下载Spark源码版本(或者直接把下载地址复制到火狐浏览器中打开官网,下载地址是http://spark.apache.org/downloads.html)。

进入这个官网后,可以按照下图配置选择“2.1.0(Dec 28, 2016)”和“SourceCode”,然后,在图中红色方框内,有个“Download Spark: spark-2.1.0.tgz”的下载链接,点击该链接就可以下载Spark源码文件了。

如果是在火狐浏览器中下载spark-2.1.0.tgz,这个文件被默认放置在你当前用户的下载目录下,我们教程是统一使用hadoop用户登录Linux系统,所以,下载文件被放到了“/home/hadoop/下载”这个目录下。

由于带有中文名称的目录在进行打包编译时,往往容易出现错误,为了保险起见,我们还是把这个文件解压缩到一个英文目录下。请在Linux系统中打开一个终端,然后执行下面命令进行文件解压:

cd /home/hadoop/下载 //spark-2.1.0.tgz就在这个目录下面

ls #可以看到刚才下载的spark-2.1.0.tgz文件

sudo tar -zxf ./spark-2.1.0.tgz -C /home/hadoop/

cd /home/hadoop

ls #这时可以看到解压得到的文件夹spark-2.1.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值