当前位置: 首页 > news >正文

Hive笔记-3

3.2.2 查看表

1) 展示所有表
(1)  语法:

语法:

SHOW TABLES [IN database_name] LIKE ['identifier_with_wildcards'];

In database_name 写的是查哪个数据库,一般不写默认是当前数据库

Like 后面跟通配符表达式

(2) 案例:

查看在 db_hive1 数据库里有没有以 stu 开头的表

2) 查看表信息
(1) 语法

DESCRIBE [EXTENDED | FORMATTED] [db_name.]table_name

(2) 案例:

describe teacher;

describe extended teacher;

describe formatted teacher;

3.2.3 修改表

1) 重命名表
(1)语法

ALTER TABLE table_name RENAME TO enw_table_name

(2)案例

alter table stu rename to stu1;

把stu表重命名为stu1

2) 修改列信息
(1)语法
1.增加列

 该语句允许用户增加新的列,新增列的位置位于末尾。

ALTER TABLE table_name ADD COLMNS (col_name data_type [COMMENT col_comment], ...);

COMMENT 备注

2.更新列

 该语句允许用户修改指定列的列名、数据类型、注释信息以及在表中的位置。

ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]

COMMENT 备注

FIRST|AFTER column_name 在column_name之前或之后

3.替换列

 该语句允许用户用新的列集替换表中原有的全部列。

ALTER TABLE table_name REPLACE COLUMNS (col_name data_type) [COMMENT col_comment], ...)

替换列是一个比较灵活的语法

(2)案例
(1) 查询表结构

hive (default)> desc stu;

(2) 添加列

hive (default)> alter table stu add columns(age int);

(3) 查询表结构

hive (default)> desc stu;

(4) 更新列

hive (default)> alter table stu change column age ages double;

执行代码出错:

因为在更新列之前他会先检验一下,检验我们更新前后的类型是否一致,我们需要关闭一下他的检验0

使用set关闭检验并查看表:

(5) 替换列

hive (default)> alter table stu replace columns(id int, name string);

3.2.4 删除表

1) 语法

DROP TABLE [IF EXISTS] table_name;

2) 案例

hive (default) > drop table stu;

3.2.5 清空表

 清空表,只清除表中的数据.

1) 语法

TRUNCATE [TABLE] table_name

2) 案例

hive (default) > truncate table student;

第 4 章 DML (Data Manipulation Language) 数据操作

4.1 Load

 Load 语句可将文件导入到Hive表中

1) 语法

hive >
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE 
tablename [PARTITION (partcol1=val1,partcol2=val2 ...)];

关键字说明:

(1) local : 表示从本地加载数据到Hive表;否则从HDFS加载数据到Hive表。

(2) overwrite : 表示覆盖表中已有的数据,否则表示追加。

(3) partition : 表示上传到指定分区,若目标是分区表,需指定分区。

2) 实操案例

(1) 创建一张表

hive (default)> 
create table student(
    id int,
    name string
)
row format delimited fields terminated by '\t';

创建一张表:

(2) 加载本地文件到hive

hive (default)> load data local inpath '/opt/module/datas/student.txt' into table student;

vim打开文件:

开始Load一下:

因为 into 前面 没有 overwrite 关键字 , 所以是追加模式

没有partition,默认不上传分区

 1. 上传文件到HDFS

[atguigu@hadoop102 ~]$ hadoop fs -put
/opt/module/datas/student.txt /user/atguigu

 2. 加载HDFS 上的数据, 导入完成后去HDFS上查看文件是否还存在

hive (default)> 
load data inpath '/user/atguigu/student.txt' 
into table student;

检查一下student表:

(3) 加载数据覆盖表中已有的数据
 1. 上传文件到HDFS

hive (default)> dfs -put
/opt/module/datas/student.txt /user/atguigu;

 2. 加载数据覆盖表中已有的数据

hive (default)> 
load data inpath '/user/atguigu/student.txt' 
overwrite into table student;

相关文章:

  • OpenCV--Mat属性和深浅拷贝
  • 前端开发之浏览器垃圾回收机制
  • Redis分片集群搭建
  • springBoot+mongoDB项目中,使用MongoFactory、MongoTemplate分页条件查询,增删查改
  • 代码随想三刷二叉树篇3
  • 代码随想录算法训练营第38天|● 理论基础 ● 509. 斐波那契数● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯
  • Linux:文件描述符
  • ai写诗词,三款软件助你妙笔生花!
  • Cesium4Unreal - # 009 直接加载显示Shapefile
  • 返回给前端数据的封装
  • 【Spine学习13】之 制作受击动画思路总结(叠加颜色特效发光效果)
  • Go 基础丨字符串 string
  • 【已解决】better-scroll在PC端如何开启鼠标滚动以及如何始终显示滚动条
  • Vim基础操作:常用命令、安装插件、在VS Code中使用Vim及解决Vim编辑键盘错乱
  • 北方高温来袭!动力煤却不涨反跌的原因分析
  • @jsonView过滤属性
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • Apache Spark Streaming 使用实例
  • CentOS7简单部署NFS
  • CSS居中完全指南——构建CSS居中决策树
  • session共享问题解决方案
  • webgl (原生)基础入门指南【一】
  • 阿里云Kubernetes容器服务上体验Knative
  • 笨办法学C 练习34:动态数组
  • 从零搭建Koa2 Server
  • 高程读书笔记 第六章 面向对象程序设计
  • 构造函数(constructor)与原型链(prototype)关系
  • 精彩代码 vue.js
  • 前端面试题总结
  • 区块链分支循环
  • 用jquery写贪吃蛇
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • # windows 安装 mysql 显示 no packages found 解决方法
  • #ifdef 的技巧用法
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (3)选择元素——(17)练习(Exercises)
  • (8)STL算法之替换
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (zhuan) 一些RL的文献(及笔记)
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (十八)Flink CEP 详解
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (译) 函数式 JS #1:简介
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (原创) cocos2dx使用Curl连接网络(客户端)