目录
前言:
Hive的一些基本概念:
数据库(Database)
服务器创建hive数据库指令:
Spring Boot中集成Hive数据库
在application.properties或application.yml文件中配置Hive JDBC连接属性,例如:
在application.properties或application.yml文件中配置MyBatis属性,例如:
创建Mapper接口和映射文件,例如:
在Spring Boot的配置类中,使用@MapperScan注解注册Mapper接口,然后调用对应方法 例如:
Hive数据库在服务器配置事项:
在hive-site.xml文件中,需要配置以下属性:
记录笔记一手
Hive是一个基于Hadoop的数据仓库工具,可以将结构化数据映射到Hadoop的分布式文件系统上,并提供类SQL查询的功能。以下是Hive的一些基本概念:
Hive是一个基于Hadoop的数据仓库工具,可以将结构化数据映射到Hadoop的分布式文件系统上,并提供类SQL查询的功能。以下是Hive的一些基本概念:
在Hive中,可以通过CREATE DATABASE语句来创建数据库,例如:
CREATE DATABASE mydb;
在创建数据库时,可以指定数据库的名称和数据库的位置,例如:
CREATE DATABASE mydb LOCATION '/user/hive/mydb';
在Hive中,可以通过SHOW DATABASES语句来查看所有的数据库,例如:
SHOW DATABASES;
在Hive中,可以通过USE语句来切换数据库,例如:
USE mydb;
在切换数据库后,可以通过SHOW TABLES语句来查看该数据库中的所有表,例如:
SHOW TABLES;
DROP DATABASE mydb; 删除数据库;,删除数据库时会同时删除该数据库中的所有表和其他元数据,因此需要谨慎操作。
org.apache.hive
hive-jdbc
3.1.2
spring.datasource.url=jdbc:hive2://localhost:10000/default
spring.datasource.driver-class-name=org.apache.hive.jdbc.HiveDriver
spring.datasource.username=username
spring.datasource.password=password
mybatis.mapper-locations=classpath:mapper/*.xml其中,mapper-locations是MyBatis映射文件的路径。
public interface MyMapper { @Select("SELECT * FROM mytable") ListfindAll(); } MyMapper接口定义了一个findAll()方法,使用@Select注解指定SQL查询语句。映射文件中定义了一个resultMap和一个select标签,用于将查询结果映射到MyEntity实体类中。
@Configuration @MapperScan("com.example.mapper") public class MyConfig { } @Autowired private MyMapper myMapper; public void queryHive() { Listresult = myMapper.findAll(); // 处理查询结果 } 使用@Autowired注解注入MyMapper接口,然后使用myMapper.findAll()方法执行SQL查询语句,最后使用List类型的result变量来保存查询结果。
需要注意的是,Hive的JDBC驱动与其他关系型数据库的JDBC驱动有一些差异,例如Hive不支持事务和索引等特性
用MySQL来存储Hive元数据时,需要进行以下配置
在MySQL中创建一个数据库,用于存储Hive的元数据,例如:
CREATE DATABASE metastore;
在MySQL中创建一个用户,用于访问Hive元数据数据库,例如:
CREATE USER 'hiveuser'@'localhost' IDENTIFIED BY 'hivepassword';
在上述MySQL语句中,'hiveuser'是要创建的MySQL用户的用户名,'localhost'表示该用户只能从本地主机访问MySQL数据库,IDENTIFIED BY 'hivepassword'表示该用户的密码为hivepassword。
需要注意的是,创建MySQL用户和授权访问权限的操作需要具有MySQL的管理员权限,因此需要使用具有管理员权限的MySQL用户来执行这些操作。
将Hive元数据数据库的访问权限授予Hive元数据用户,例如:
GRANT ALL PRIVILEGES ON metastore.* TO 'hiveuser'@'localhost';
配置Hive-site.xml文件:
在Hive的conf目录下,有一个hive-default.xml.template文件,将其复制一份并重命名为hive-site.xml,然后根据需要进行配置。需要注意的是,hive-site.xml文件中的配置项会覆盖hive-default.xml.template文件中的默认配置项。
仅在hive-site.xml文件中配置需要修改的属性,不要修改其他属性。这样可以避免不必要的冲突。
在hive-site.xml文件中,使用标签覆盖hive-default.xml.template文件中的默认配置项,而不是直接修改默认配置项。这样可以避免不必要的冲突。
在修改hive-site.xml文件之前,先备份原始文件,以便在出现问题时可以恢复到原始状态。
在修改hive-site.xml文件之前,先仔细阅读Hive的官方文档和相关的教程,了解每个配置项的含义和影响,避免不必要的错误。
javax.jdo.option.ConnectionURL jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true JDBC connect string for a JDBC metastore javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver Driver class name for a JDBC metastore javax.jdo.option.ConnectionUserName hiveuser username to use against metastore database javax.jdo.option.ConnectionPassword hivepassword password to use against metastore database 其中,ConnectionURL属性指定了连接MySQL数据库的URL,ConnectionDriverName属性指定了MySQL JDBC驱动的类名,ConnectionUserName和ConnectionPassword属性指定了连接MySQL数据库的用户名和密码。
在终端中输入hive命令,启动Hive服务,例如:
hive
启动成功后,就可以使用Hive的命令行界面来创建数据库、表等对象了。 然后就可以用上面服务器创建hive数据库指令:
不写了 费脑 我淦