使用spark-shell访问hive里面的数据

使用spark-shell访问hive里面的数据

首先将hive的conf目录下的hive-site.xml拷贝到spark的conf目录下。
在spark2.0.2这个版本中,正常启动,然后执行如下命令,会报错。在spark2.1.0中,启动就会报错(两个版本的去别可能是前者在执行第一条语句之后去连接启动等动作,而后者是在启动的时候就进行连接启动等动作)。报错信息一样,都是在指定的classpath中没有找到mysql的驱动。

使用spark-shell访问hive里面的数据_第1张图片


这里有两个解决的办法:

方法一:在启动的时候指定mysql驱动的jar包。

使用spark-shell访问hive里面的数据_第2张图片

通过参数jars指定mysql驱动jar包的位置

使用spark-shell访问hive里面的数据_第3张图片
进入spark之后再次执行命令

使用spark-shell访问hive里面的数据_第4张图片
可以正常查询了

方法二:将mysql的驱动放到spark的jars目录中


此时启动spark-shell的时候就不用jars参数指定需要的jar包了

使用spark-shell访问hive里面的数据_第5张图片

这个方法比较方便。

你可能感兴趣的:(使用spark-shell访问hive里面的数据)