[Hive的基本概念之---数据库 ]

目录

前言: 

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的一些基本概念:

  1. 数据库(Database)
  2. Hive中的数据库类似于关系型数据库中的数据库,用于存储表和其他元数据。每个数据库都有一个唯一的名称,可以通过USE语句来切换数据库。
  3. 表(Table)
  4. Hive中的表类似于关系型数据库中的表,用于存储数据。每个表都有一个唯一的名称和一组列定义,可以通过CREATE TABLE语句来创建表。
  5. 分区(Partition)
  6. Hive中的分区是指将表按照某个列的值进行划分,每个分区对应一个子目录,用于存储该分区的数据。分区可以提高查询效率,可以通过ALTER TABLE语句来添加、删除和修改分区。
  7. 存储格式(Storage Format)
  8. Hive中的存储格式指数据在Hadoop分布式文件系统上的存储方式,常见的存储格式包括文本格式、序列化格式、列式存储格式等。可以通过CREATE TABLE语句的STORED AS子句来指定存储格式。
  9. 数据类型(Data Type)
  10. Hive中支持的数据类型包括基本数据类型、复合数据类型和集合数据类型等。常见的数据类型包括INT、BIGINT、STRING、BOOLEAN、ARRAY、MAP等。
  11. 查询语句(Query)
  12. Hive中的查询语句类似于SQL语句,可以使用SELECT、FROM、WHERE、GROUP BY、ORDER BY等关键字进行查询。Hive支持类SQL查询语句的语法,但是与SQL语言有一些差异,例如Hive中不支持UPDATE和DELETE语句。

Hive的一些基本概念:

Hive是一个基于Hadoop的数据仓库工具,可以将结构化数据映射到Hadoop的分布式文件系统上,并提供类SQL查询的功能。以下是Hive的一些基本概念:

数据库(Database)

  • Hive中的数据库类似于关系型数据库中的数据库,用于存储表和其他元数据。每个数据库都有一个唯一的名称,可以通过USE语句来切换数据库。Hive中的数据库并不是物理上的存储结构,而是一种逻辑上的组织方式。在Hive中,每个数据库都对应一个目录,该目录下存储了该数据库中的所有表和其他元数据。

服务器创建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;  删除数据库;,删除数据库时会同时删除该数据库中的所有表和其他元数据,因此需要谨慎操作。

Spring Boot中集成Hive数据库

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
    <version>3.1.2</version>
</dependency>

在application.properties或application.yml文件中配置Hive JDBC连接属性,例如:

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

在application.properties或application.yml文件中配置MyBatis属性,例如:

mybatis.mapper-locations=classpath:mapper/*.xml

其中,mapper-locations是MyBatis映射文件的路径。

创建Mapper接口和映射文件,例如:

public interface MyMapper {
    @Select("SELECT * FROM mytable")
    List<MyEntity> findAll();
}

<mapper namespace="com.example.mapper.MyMapper">
    <resultMap id="MyEntityMap" type="com.example.entity.MyEntity">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="age" property="age"/>
    </resultMap>
    <select id="findAll" resultMap="MyEntityMap">
        SELECT * FROM mytable
    </select>
</mapper>

MyMapper接口定义了一个findAll()方法,使用@Select注解指定SQL查询语句。映射文件中定义了一个resultMap和一个select标签,用于将查询结果映射到MyEntity实体类中。

在Spring Boot的配置类中,使用@MapperScan注解注册Mapper接口,然后调用对应方法 例如:

@Configuration
@MapperScan("com.example.mapper")
public class MyConfig {
}

@Autowired
private MyMapper myMapper;

public void queryHive() {
    List<MyEntity> result = myMapper.findAll();
    // 处理查询结果
}

使用@Autowired注解注入MyMapper接口,然后使用myMapper.findAll()方法执行SQL查询语句,最后使用List类型的result变量来保存查询结果。

需要注意的是,Hive的JDBC驱动与其他关系型数据库的JDBC驱动有一些差异,例如Hive不支持事务和索引等特性

Hive数据库在服务器配置事项:

用MySQL来存储Hive元数据时,需要进行以下配置

  • 安装MySQL 
  • 创建Hive元数据数据库 
  1. 首先需要安装MySQL数据库,可以从MySQL官网下载安装包,也可以使用Linux发行版自带的MySQL软件包。

在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文件中的默认配置项。

  1. 仅在hive-site.xml文件中配置需要修改的属性,不要修改其他属性。这样可以避免不必要的冲突。

  2. 在hive-site.xml文件中,使用标签覆盖hive-default.xml.template文件中的默认配置项,而不是直接修改默认配置项。这样可以避免不必要的冲突。

  3. 在修改hive-site.xml文件之前,先备份原始文件,以便在出现问题时可以恢复到原始状态。

  4. 在修改hive-site.xml文件之前,先仔细阅读Hive的官方文档和相关的教程,了解每个配置项的含义和影响,避免不必要的错误。

在hive-site.xml文件中,需要配置以下属性:

 

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hiveuser</value>
  <description>username to use against metastore database</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hivepassword</value>
  <description>password to use against metastore database</description>
</property>

其中,ConnectionURL属性指定了连接MySQL数据库的URL,ConnectionDriverName属性指定了MySQL JDBC驱动的类名,ConnectionUserName和ConnectionPassword属性指定了连接MySQL数据库的用户名和密码。

 

在终端中输入hive命令,启动Hive服务,例如:

hive 

启动成功后,就可以使用Hive的命令行界面来创建数据库、表等对象了。 然后就可以用上面服务器创建hive数据库指令:

 

 

 

不写了 费脑 我淦
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Apache Hive是一个开源的数据仓库基础设施,可以通过使用SQL来查询和分析大规模的数据集。apache-hive-2.1.1-bin.tar.gz是Hive的2.1.1版本的二进制安装包。这个安装包包含了Hive运行所需的所有文件。 在安装Hive之前,我们需要确保已经安装了Java Development Kit (JDK),因为Hive是在Java环境下运行的。然后,我们可以通过以下步骤来安装apache-hive-2.1.1-bin.tar.gz: 1. 首先,我们需要下载apache-hive-2.1.1-bin.tar.gz文件。我们可以从Apache Hive官方网站下载这个文件。 2. 下载完成后,我们需要将下载的文件解压缩。可以使用以下命令进行解压缩:tar -zxvf apache-hive-2.1.1-bin.tar.gz 3. 解压缩完成后,我们需要配置Hive的环境变量。我们可以打开.bashrc或.bash_profile文件,并添加以下配置行: export HIVE_HOME=/path/to/hive export PATH=$PATH:$HIVE_HOME/bin 请将上述配置行中的"/path/to/hive"替换为您解压缩Hive的路径。 4. 保存文件,然后加载这些配置。我们可以使用以下命令加载.bashrc文件:source ~/.bashrc 5. 现在,我们可以启动Hive了。使用以下命令启动:hive 这将启动Hive的命令行界面,我们可以在其中执行Hive的SQL查询和操作。 这就是安装apache-hive-2.1.1-bin.tar.gz的基本步骤。安装完成后,您可以开始使用Hive来查询和分析大规模的数据集。希望这个回答能对您有帮助! ### 回答2: Apache Hive是一个基于Hadoop的数据仓库解决方案,它可以提供结构化查询语言(SQL),以便从大规模分布式数据集中检索和分析数据。hive-2.1.1-bin.tar.gz是Hive的一个版本,其中的bin表示该文件包含了Hive的可执行脚本和二进制文件。 在解压和安装这个tar.gz文件之后,我们可以通过运行Hive的命令行界面来开始使用HiveHive提供了类似于SQL的查询语言,称为HiveQL,它允许用户使用SQL语句来查询和分析存储在Hadoop集群上的数据。 Hive可以处理各种类型的数据,包括结构化数据、半结构化数据和非结构化数据。它允许用户定义表结构,将数据导入表中,并执行类SQL查询来处理这些表。Hive使用Hadoop的MapReduce框架来执行查询,因此具有良好的可扩展性和容错性。 除了基本的查询功能外,Hive还支持用户自定义函数(UDFs),以便根据特定需求编写自定义的函数,并将其应用于查询中。此外,Hive还支持分区和分桶的概念,以改进查询性能。 通过使用Hive,用户可以利用Hadoop集群的强大计算能力和存储能力来处理大规模数据集。它提供了一种简化和抽象化的方式来处理和查询大数据,对于那些熟悉SQL语法的用户来说,学习和使用Hive相对容易。 总之,apache-hive-2.1.1-bin.tar.gz是Apache Hive的一个版本,它提供了一个基于Hadoop的数据仓库解决方案,可以通过HiveQL语言来查询和分析大规模分布式数据集。 ### 回答3: apache-hive-2.1.1-bin.tar.gz 是Apache Hive项目的二进制压缩文件。Apache Hive是一个基于Hadoop的数据仓库基础架构工具,用于提供数据的存储、查询和分析。通过Hive,用户可以使用类SQL语言在Hadoop集群中执行数据查询,并将查询结果转换为MapReduce任务进行处理。 Apache Hive提供了一个类似于关系型数据库的查询语言,称为HiveQL,它使用了SQL语法来查询和操作存储在Hadoop HDFS或Hive表中的数据。HiveHiveQL查询转换为MapReduce任务或Tez DAG(有向无环图)任务,让用户可以轻松地利用Hadoop集群的并行处理能力进行大规模数据处理。 通过Apache Hive,用户可以在不需要掌握复杂的MapReduce编程技术的情况下,利用简单的SQL语法进行数据分析和挖掘。用户可以创建Hive表,将数据加载到表中,并使用HiveQL进行查询和处理。此外,Hive还提供了用户定义函数(UDF)、用户定义聚合函数(UDAF)和用户定义转换函数(UDTF)的能力,让用户可以按照自己的需求扩展和定制Hive的功能。 apache-hive-2.1.1-bin.tar.gz是Hive 2.1.1版本的二进制分发文件。用户可以下载并解压此文件,即可在本地环境中部署和运行Apache HiveHive还有其他版本和分发文件可供选择,用户可以根据自己的需求选择适合的版本进行使用。对于想要在Hadoop集群中快速搭建和使用数据仓库工具的用户,Apache Hive提供了一个强大而灵活的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是汤圆丫

怎么 给1分?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值