在idea上使用SparkSQL连接到Hive上
将hive-site.xml存储到项目上的resources目录上
既然我们要在idea上使用spark来访问Hive上的数据,那我们也要有元数据地址才行嘛,所以这和使用spark-sql访问一样需要hive-site.xml这个配置文件。
我们将它放到项目的resources上面,记得要将这个文件夹标记成Resources哦。如果我们没有添加这个配置文件的话,SparkSQL将走默认配置的路线了,在项目本地创建一个spark-warehouse的文件夹来放置我们的元数据了。
添加spark-hive的依赖
groupId:org.apache.spark
artifactId:spark-hive_2.11
version:${spark.version}
我刚开始的时候就是忘记添加这个到pom.xml上面,一运行就直接报找不到hive初始化的类了。
在创建的SparkSession中添加对hive的支持
同样的,我们在使用SparkSQL的时候需要创建一个SparkSession这样的入口点,而这个入口点是需要支持hive操作的
package sparkSQL
import org.apache.spark.sql.SparkSession
object SparkSQLApp {
def main(args: Array[String]): Unit = {
val ss = SparkSession.builder().master("local[2]").appName("the test of SparkSession").enableHiveSupport().getOrCreate()
val df = ss.sql("show databases")
df.show
ss.stop()
}
}
上面的代码用于查看hive中的数据库,结果如下: