一、内嵌的Hive
若使用Spark内嵌的Hive,直接使用即可,什么都不需要做(在实际生产活动中,很少会使用这一模式)
二、外部的Hive
步骤:
- 将Hive中conf/下的hive-site.xml拷贝到Spark的conf/目录下;
- 把Mysql的驱动copy到jars/目录下;
- 如果访问不到hdfs,则将core-site.xml和hdfs-site.xml拷贝到conf/目录下;
- 重启spark-shell;
可以查看到数据库及表,则表明spark-shell连接到外部已部署好的Hive。
三、运行Spark beeline
步骤:
- 将Hive中conf/下的hive-site.xml拷贝到Spark-local模式下的conf/目录下;
cp /opt/software/hive-2.3.3/conf/hive-site.xml /opt/software/spark-local/conf/
- 把Mysql的驱动copy到jars/目录下;
cp /opt/software/hive-2.3.3/lib/mysql-connector-java-5.1.49.jar /opt/software/spark-local/jars/
- 如果访问不到hdfs,则将core-site.xml和hdfs-site.xml拷贝到conf/目录下;
cp /opt/software/hadoop/hadoop-2.9.2/etc/hadoop/hdfs-site.xml /opt/software/spark-local/conf/
cp /opt/software/hadoop/hadoop-2.9.2/etc/hadoop/core-site.xml /opt/software/spark-local/conf/
4.启动Thrift Server
sbin/start-thriftserver.sh
- 使用beeline连接Thrift Server
cd bin/
beeline -u jdbc:hive2://node01:10000 -n root
四、运行Spark-SQL CLI
步骤:
- 把Mysql的驱动copy到jars/目录下;
- 将Hive中conf/下的hive-site.xml拷贝到Spark-local模式下的conf/目录下;
(以上步骤同方法二) - 运行bin/目录下的spark-sql.cmd或打开cmd在D:\spark-3.0.0\spark-3.0.0-bin-hadoop3.2\bin中直接运行spark-sql。
五、代码操作Hive
步骤:
- 导入依赖。
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.12</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>2.3.3</version>
</dependency>
-
将hive-site.xml 文件拷贝到项目的 resources 目录中。
-
代码实现。
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("hive")
val spark:SparkSession = SparkSession.builder()
.enableHiveSupport()
.config(sparkConf)
.getOrCreate()
spark.sql("show databases").show()
spark.sql("create database spark_sql")
spark.sql("show databases").show()
注意:
- 如果在执行操作时,出现如下错误:
可以在代码最前面增加如下代码解决:
System.setProperty("HADOOP_USER_NAME", "node01")
此处的 node01 改为自己的 hadoop 用户名称文章来源:https://www.toymoban.com/news/detail-599569.html
- 在开发工具中创建数据库默认是在本地仓库,通过参数修改数据库仓库的地址:
config("spark.sql.warehouse.dir", "hdfs://node01:9000/user/hive/warehouse")
以上就是Spark-SQL连接Hive的五种方法。文章来源地址https://www.toymoban.com/news/detail-599569.html
到了这里,关于Spark-SQL连接Hive的五种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!