【大数据技术基础 | 实验十一】Hive实验:新建Hive表

在这里插入图片描述


一、实验目的

  1. 学会创建Hive的表;
  2. 显示Hive中的所有表;
  3. 显示Hive中表的列项;
  4. 修改Hive中的表并能够删除Hive中的表。

二、实验要求

  1. 要求实验结束时;
  2. 每位学生均能够完成Hive的DDL操作;
  3. 能够在Hive中新建,显示,修改和删除表等功能。

三、实验原理

Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织Hive中的表,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。

Hive中所有的数据都存储在HDFS中,Hive中包含以下数据模型:表(Table),外部表(External Table),分区(Partition),桶(Bucket)。

Hive中Table和数据库中Table在概念上是类似的,每一个Table在Hive中都有一个相应的目录存储数据。例如,一个表pvs,它在HDFS中的路径为:/wh/pvs,其中,wh是在hive-site.xml中由${hive.metastore.warehouse.dir}指定的数据仓库的目录,所有的Table数据(不包括External Table)都保存在这个目录中。

四、实验环境

  • 云创大数据实验平台:
    在这里插入图片描述
  • Java 版本:jdk1.7.0_79
  • Hadoop 版本:hadoop-2.7.1
  • Hive 版本:hive-1.2.1

五、实验内容和步骤

点击一键搭建,将实验环境搭建完成。具体部署Hive详细步骤参考:【大数据技术基础 | 实验十】Hive实验:部署Hive

(一)启动Hive

我们在master虚拟机上首先进入hive的bin目录下,然后执行hive命令即可启动:

cd /usr/cstor/hive/
bin/hive

在这里插入图片描述

(二)创建表

默认情况下,新建表的存储格式均为Text类型,字段间默认分隔符为键盘上的Tab键。

创建一个有两个字段的pokes表,其中第一列名为foo,数据类型为INT,第二列名为bar,类型为STRING。

hive> CREATE TABLE pokes (foo INT, bar STRING) ;

在这里插入图片描述

创建一个有两个实体列和一个(虚拟)分区字段的invites表。

hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING) ;

在这里插入图片描述

注意:分区字段并不属于invites,当向invites导入数据时,ds字段会用来过滤导入的数据。

(三)显示表

显示所有的表。

hive> SHOW TABLES ;

在这里插入图片描述

显示表(正则查询),同MySQL中操作一样,Hive也支持正则查询,比如显示以.s结尾的表。

hive> SHOW TABLES '.*s';

在这里插入图片描述

(四)显示表列

hive> DESCRIBE invites;

在这里插入图片描述

(五)更改表

修改表events名为3koobecaf (自行创建任意类型events表):

hive> CREATE TABLE events (foo INT, bar STRING) ;
hive> ALTER TABLE events RENAME TO 3koobecaf;
hive> SHOW TABLES ;

在这里插入图片描述

将pokes表新增一列(列名为new_col,类型为INT):

hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
hive> DESCRIBE pokes;

在这里插入图片描述

将invites表新增一列(列名为new_col2,类型为INT),同时增加注释“a comment”:

hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
hive> DESCRIBE invites;

在这里插入图片描述

替换invites表所有列名(数据不动):

hive> ALTER TABLE invites REPLACE COLUMNS (foo INT, bar STRING, baz INT COMMENT 'baz replaces new_col2');
hive> DESCRIBE invites;

在这里插入图片描述

(六)删除表(或列)

删除invites表bar和baz两列:

hive> ALTER TABLE invites REPLACE COLUMNS (foo INT COMMENT 'only keep the first column');
hive> DESCRIBE invites;

在这里插入图片描述

删除pokes表:

hive> DROP TABLE pokes;
hive> SHOW TABLES ;

在这里插入图片描述

六、实验结果

实验结果见实验步骤每步的运行结果。

七、实验心得

  通过本次Hive的DDL操作实验,我深刻体验到了Hive在大数据处理中的灵活性和强大功能。在实验中,我成功创建了不同类型的表,如普通表和分区表,并掌握了显示表、显示表列、修改表和删除表等基本的DDL操作。这些操作不仅让我对Hive的数据定义语言有了更深入的理解,也为我今后在大数据处理中提供了实用的技能。

  此外,我还深刻体会到了Hive与Hadoop之间的紧密集成关系。Hive利用Hadoop的分布式存储和计算能力,能够高效地处理大规模数据集。这种集成关系不仅提高了数据处理效率,也为我提供了更多的数据处理和分析手段。

  总的来说,本次Hive的DDL操作实验让我对Hive有了更深入的理解和实践经验。我将把这次实验中学到的知识和技能应用到今后的学习和工作中,不断提高自己的数据处理和分析能力。同时,我也期待在未来的课程中能够学习更多关于大数据处理和分析的知识和技能。

### 关于林子雨大数据课程的Hive实验报告及相关教学资料 在大数据领域,Hive是一种广泛应用于数据分析的技术工具。它是一个基于Hadoop数据仓库工具,能够将结构化的数据文件映射为一张数据库,并提供简单的SQL查询功能[^1]。 对于林子雨老师的大数据课程而言,他所提供的资源通常涵盖了理论讲解与实践操作两部分。以下是关于如何获取或参考林子雨老师的Hive实验报告及教学资料的内容: #### 一、官方资源 林子雨老师在其个人网站以及厦门大学开设的大数据课程页面中,提供了丰富的学习材料。具体可以访问他的官方网站或者通过搜索引擎检索关键词“林子雨 大数据 Hive”。其中可能包括但不限于以下内容: - **实验指导书**:详细描述了每一步的操作流程,适合初学者快速入门。 - **案例分析文档**:结合实际应用场景,深入探讨Hive的应用技巧。 - **视频教程**:配合文字说明,直观展示复杂概念的理解方式。 #### 二、Hive基础介绍 为了更好地理解和完成实验任务,在此简单概述一下Hive的核心知识点及其工作原理: - 数据建模:支持创建内部(Internal Table)和外部(External Table)[^1]。 - 查询优化器:自动选择最优执行计划以提高性能效率。 - 集成其他生态系统组件:比如可以通过连接至HBase实现更灵活的数据读写操作。 #### 三、配置环境注意事项 如果打算按照林子雨教授给出的方法来进行本地测试,则需要注意几个关键环节: - 安装好必要的软件包(Hadoop,Hive等),并确认版本兼容性良好; - 正确设定JAVA_HOME路径,这是因为在运行过程中需要用到JVM(java virtual machine),而这个参数正是用来指定java安装位置的信息[^3]。 下面是一段用于验证hdfs命令是否正常工作的shell脚本例子: ```bash #!/bin/bash hdfs dfs -mkdir /user/hive/warehouse hdfs dfs -ls / ``` 以上代码片段展示了如何新建一个目录供hive存储元数据之用,同时也列举出了查看根目录下所有项目的指令。 #### 四、总结建议 综上所述,要找到林子雨有关Hive方面的实验报告样本并不困难,只需遵循上述途径即可轻松达成目标。同时提醒各位同学,在动手之前一定要仔细阅读相关手册,确保每一个细节都被妥善处理完毕后再继续下一步骤。
评论 48
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Francek Chen

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

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

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

打赏作者

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

抵扣说明:

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

余额充值