Hive-day01-hive的简单理解

本文介绍了Hive的基本命令,特别是如何查看数据存放路径,并探讨了Hive依赖于HDFS的情况。当使用Derby作为元数据库导致多客户端访问问题时,将元数据迁移到MySQL以实现共享。内容还涵盖了Hive元数据的metastore相关表及Hive配置文件hive-site.xml的角色。

1:关于hive的一些基本命令

以下的那个insert命令,可以查看除hive与mapreduce有关,且1001这个数据的存放路径是hdfs上面的/user/hive/warehouse/test,test为表名。

 2:在 CRT窗口 中开启另一个窗口开启 Hive,出现报错

        原因在于Hive 默认使用的元数据库为 derby ,开启 Hive 之后就会占用元数据库, 且 不与
其他客户端共享数据 所以我们需要将 Hive 的元数据地址改为 MySQL

3:理解

下面两张图是metastore元数据库的相关两张表的内容,分别以DB_ID连接,然后拼接路径,比如下面的select * from test为例,在hdfs里面的相关路径为/user/hive/warehouse/test,然后这个test为创建的表名,然后/user/hive/warehouse这个路径是在hive-site.xml,也就是hive的相关配置文件里面进行设置的,见第五张图。

所以我认为在hive里面的执行的sql,其实就是从hdfs里面获取的数据。所以也就是说,hive是依赖于HDFS的。

从hive里面能获取到数据,一是有元数据,比如在hive里面的create建表语句,二是hdfs里面有数据,比如hadoop fs -put id.txt /user/hive/warehouse/test,上传数据文件到hdfs上

 

 

 

 

4:回到最初,测试derby数据迁移到mysql效果

也就是为了满足可以多个客户端同时访问同一个元数据库。

 

 

 

### Hive内部分区表的概念及其实现 #### 分区表的核心概念 Hive中的分区表是一种用于优化大数据查询的技术。它通过将数据按照某个或某些列的值划分为不同的子集,从而使得查询操作更加高效[^2]。这种技术允许用户仅加载特定条件下的数据,而不是扫描整个表格的内容。 #### 动态分区功能 为了支持更灵活的数据插入方式,Hive引入了动态分区的功能。启用此功能需要设置参数`hive.exec.dynamic.partition=true`[^1]。这样,在向分区表中插入数据时,Hive可以根据实际数据内容自动生成对应的分区路径并保存数据[^3]。 #### 创建分区表的具体方法 以下是创建一个基于日期字段(`day`)进行分区的表的例子: ```sql CREATE TABLE dept_partition ( deptno INT, -- 部门编号 dname STRING, -- 部门名称 loc STRING -- 部门位置 ) PARTITIONED BY (day STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; ``` 上述SQL语句定义了一个名为`dept_partition`的表,并指定了按字符串类型的`day`字段进行分区[^4]。 #### 向分区表写入数据的方式 对于已经创建好的分区表,可以通过多种方式进行数据填充。其中一种常见的方式是使用`LOAD DATA`命令直接导入文件到指定的分区目录下;另一种则是利用`INSERT INTO ... PARTITION (...) SELECT ... FROM ...`结构完成复杂场景下的数据迁移工作。 #### 使用分区表的优势分析 采用分区策略不仅有助于加快查询速度,还便于日常维护以及实施长期存档计划等方面的工作。当面对海量记录集合时,合理设计分区方案往往能带来显著效益改进效果[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

总会有天明

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值