Hive库表基本操作

news2024/11/17 10:24:05

Hive基本操作-库、表

规则语法

大小写规则:

1. hive的数据库名、表名都不区分大小写
2. 建议关键字大写
复制代码

命名规则

1. 名字不能使用数字开头
2. 不能使用关键字
3. 尽量不使用特殊符号
复制代码

库操作语法

创建数据库

创建数据库的本质就是在hive的参数${hive.metastore.warehouse.dir}对应的目录下,创建一个新的目录,此目录的名称为: 库名.db。

注意:在创建库或者表时除了创建目录外,还会在mysql中(元数据库),添加元数据(描述信息)

hive> create database zoo;
hive> create database if not exists zoo;
hive> create database if not exists qfdb comment 'this is a database of qianfeng';
复制代码

hive有一个默认的数据库default,如果不明确的说明要使用哪个库,则使用默认数据库。

查看所有数据库:实际就是从元数据库中获取对应的元数据

语法:show databases;
复制代码

切换数据库

语法:use mydb;
复制代码

查看数据库信息

语法1:desc database databaseName;
语法2:desc database extended databaseName;
语法3:describe database extended databaseName;
复制代码

删除数据库

语法1:drop database databasename;         	  # 这个只能删除空库
语法2:drop database databasename cascade;    	  # 如果不是空库,则可以加cascade强制删除
复制代码

表操作语法

数据类型

Hive的数据类型分为基本数据类型和复杂数据类型,下面是基本数据类型(复杂类型到后期再讲)

其中加粗体是重点要掌握的类型

分类类型描述字面量示例
基本类型BOOLEANtrue/falseTRUE
TINYINT1字节的有符号整数 -128~1271Y
SMALLINT2个字节的有符号整数,-32768~327671S
INT4个字节的带符号整数1
BIGINT8字节带符号整数1L
FLOAT4字节单精度浮点数1.0
DOUBLE8字节双精度浮点数1.0
DEICIMAL任意精度的带符号小数1.0
STRING字符串,可变长度“a”,’b’
VARCHAR变长字符串,要设置长度“a”,’b’
CHAR固定长度字符串“a”,’b’
BINARY字节数组无法表示
TIMESTAMP时间戳,纳秒精度122327493795
DATE日期‘2016-03-29’
复杂类型ARRAY有序的的同类型的集合array(1,2)
MAPkey-value,key必须为原始类型,value可以任意类型map(‘a’,1,’b’,2)
STRUCT字段集合,类型可以不同struct(‘1’,1,1.0)
UNION在有限取值范围内的一个值create_union(1,’a’,63)

文末扫码领取大数据礼包!

创建表

创建表的本质其实就是在对应的数据库目录下面创建一个子目录,目录名为表名。数据文件就存在这个目录下。

语法1: 
    create table t_user(id int,name string);  

语法2:使用库.表的形式
    create table mydb.t_user(id int,name string);

语法3:指定分隔规则形式
create table if not exists t1(
uname string comment 'this is name',
chinese int,
math int,
english int
)
comment 'this is my table'
row format delimited   
fields terminated by '\t'
lines terminated by '\n'
stored as textfile;

通过查新mysql数据库hive数据库 
DBS表 --> 存储的是 在hive中创建库是存在元数据信息 
TBLS表 ---> 存储的是 在hive中创建表的元数据信息 
MANAGED_TABLE --> 内部表 -->表目录会创建在HDFS文件系统中相对应目录下 (user/hive.warehouse) 
EXTERNAL_TABLE --> 外部表 --> 外部表会根据创建表时指定Location位置来创建表的位置 --> 如果没有指定Location默认会创建和内部表相同位置
复制代码

PS:在我们访问HDFS文件系统时经常会出现,访问权限的问题

WeChatccfa021cae7b026e239728d472715111

我们只需要先关闭HDFS文件系统,然后修改Hadoop安装目录中配制文件core-site.xml

<!-- 当前用户全设置成root -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>

<!-- 不开启权限检查 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>

复制代码

然后分发节点,重新启动HDFS即可

create table if not exists emp(
eno int,
ename string,
job string, 
mgr int,
hiredate int,
salary int,
comm int,
deptno int
)
row format delimited
fields terminated by ','
lines terminated by '\n'
stored as textfile;
复制代码

查看当前表空间中的所有表名

语法:show tables; 
# 查看另外一个数据库中的表
show tables in zoo;
复制代码

查看表结构

desc tableName
desc extended tableName;
describe extended tableName;
复制代码

修改表结构(DML)

- 修改表名
    alter table oldTableName rename to newTableName;
  
- 修改列名:change column	和修改字段类型是同一个语法
    alter table tableName change column oldName newName colType;
    alter table tableName change column colName colName colType;


- 修改列的位置:  注意,2.x版本后,必须是相同类型进行移动位置。【hive进行修改时是修改映射列,不会修改映射数据文件】
    alter table tableName change column colName colName colType after colName1;   
    alter table tableName change column colName colName colType first;
    例如:
    create table t_1( id int, name string );
    向表插入数据的文件 xiaohong 18 列和数据对应不上 
    alter table t_1 change column id id int after name;
  create table t_1( name string id int, );


- 增加字段:add columns
    alter table tableName add columns (sex int,...);


- 删除字段:replace columns	#注意,2.x版本后,注意类型的问题,替换操作,其实涉及到位置的移动问题。
    alter table tableName replace columns(
    id int,
    name int,
    size int,
    pic string
    );
    注意:实际上是保留小括号内的字段。
复制代码

删除表

drop table tableName;

也可以观看大数据相关视频:

千锋大数据Hadoop全新增强版-先导片

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/592761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于UNnet(backbone=resnet34) 对 PASCAL VOC 的分割

目录 1. 介绍 2. tools 代码文件夹 2.1 get_palette 2.2 transform 3. train 部分 4. 结果展示 1. 介绍 本文使用resnet 34作为backbone代替传统unet的 vgg&#xff0c;实现对PASCAL VOC的分割 训练了两百个epoch后&#xff0c;mean iou到达了0.4左右&#xff0c;没…

如何管理银行多网点监控?用这方法就够了!

随着科技进步和生活水平的不断提高&#xff0c;人们对于餐饮消费的需求也逐渐变得多样化和个性化。 高校食堂现状分析 01.信息化水平低&#xff0c;学校管理难&#xff0c;无法精准就餐&#xff1b; 02用户满意度低&#xff0c;学生取餐环节效率低&#xff1b; 03.管理效率低…

音视频入门

1 音视频核心知识 1.1 视频录制原理 1.2 视频&#xff08;音频视频&#xff09;播放原理 2 图像基础概念 2.1 像素 2.2 分辨率 隔行扫描 逐行扫描 2.3 位深 RGB 通常每个通道用8bit表示 每个通道位深越大&#xff0c;能够表示的颜色值就越大 2.4 帧率 帧率越高&#xff…

Web的基本漏洞--CSRF漏洞

目录 一、CSRF漏洞介绍 1.CSRF漏洞原理 2.CSRF漏洞的类型 3.漏洞识别 4.漏洞攻击 5.CSRF漏洞的危害 6.CSRF漏洞防御 7.CSRF和XSS的区别 一、CSRF漏洞介绍 1.CSRF漏洞原理 CSRF&#xff08;cross site request forgery&#xff09;是指跨站请求伪造,是指利用受害者尚未…

智慧工厂~经典开源项目数字孪生智慧工厂——开源工程及源码

以领先的数字孪生技术为基础&#xff0c;全面打造智慧工厂。现有云南某大型汽车加工厂工程和源码免费赠送&#xff01; 项目介绍 智慧工厂基于数字孪生技术创建了一个真实的三维模型场景。通过对传感器和机器的数据采集、分析处理&#xff0c;实时监控各生产环节&#xff0c;优…

CS5523规格书|MIPI 转DP/eDP转换芯片|DSI转DP/eDP转换芯片

ASL CS5523是MIPI DSI输入、DP/e DP输出转换芯片。MIPI DSI最多支持4个通道&#xff0c;每个通道的最大运行速度为1.5Gps。对于DP 1.2输出&#xff0c;它由4个数据通道组成&#xff0c;支持1.62Gbps和2.7Gbps的链路速率。支持1.62Gbps和2.7Gbps的链路速率。它支持2560的最高分辨…

chatgpt赋能python:Python中最大公约数的函数介绍

Python中最大公约数的函数介绍 在数学中&#xff0c;最大公约数&#xff08;GCD&#xff09;是两个或多个整数的最大公约数。 Python是一种高级编程语言&#xff0c;具有内置的GCD函数。在本篇文章中&#xff0c;我们将介绍Python中的最大公约数函数&#xff0c;以及如何使用它…

【C++】类和对象 - 封装 - 属性和行为,访问权限,class 和 struct区别,成员属性私有化

No.Contents1【C】基础知识 - HelloWorld&#xff0c;注释&#xff0c;变量&#xff0c;常量&#xff0c;关键字&#xff0c;标识符2【C】数据类型 - 整型&#xff0c;sizeof&#xff0c;实型&#xff0c;字符型&#xff0c;转义字符&#xff0c;字符串类型&#xff0c;布尔类型…

web前端 -- javascript(02) -- 数据类型转换、常见运算符及顺序、选择和循环结构

数据类型转换 &#xff08;1&#xff09;自动类型转换&#xff1a; 特点&#xff1a;低类型自动向高类型进行转换 boolean < int < float < string PS&#xff1a; boolean类型如果与数值型进行运算&#xff1a;true 1&#xff1b;false 0其他基本数据类型与字符串…

whistle以及谷歌插件Proxy SwitchyOmega实现代理

whistle提供本地服务器&#xff0c;以及代理 Proxy SwitchyOmega拦截浏览器的网络请求&#xff0c;指向whistle服务 ip 为什么要用它们呢&#xff1f; 其实一开始使用的是mac的charles&#xff0c;但是出现了网页上传文件数据的时候会被篡改&#xff0c;也可能是我配置的原因…

声明式事务控制

声明式事务控制 编程式事务控制相关对象 PlatformTransactionManager PlatformTransactionManager接口是spring的事务管理器&#xff0c;它里面提供了常用的操作事务的方法 方法说明TransactionStatus getTransaction(TransactionDefaultion defination)获取事务的状态信息…

外贸跨境商城系统-后台采集-外贸跨境电商平台搭建

一、外贸跨境商城系统框架 欢迎名片交流 JAVA语言 后端: SpringBoot, Mysql8.0, Redis, Nginx 手机端&#xff1a;uniapp, H5, App打包 前端布局&#xff1a;H5端、PC电脑端、APP端、小程序端 后台&#xff1a;总后台管理、商家后台管理 二、外贸跨境商城基础功能架构…

Chrome浏览器的自动播放限制策略(原文)

客户&#xff1a;为什么明明我设为自动播放了&#xff0c;却无法自动播放&#xff1f;我&#xff1a;#$%^#~客户&#xff1a;为什么其他浏览器可以自动播放&#xff0c;Chrome浏览器不能自动播&#xff0c;您们产品有问题...我&#xff1a;^$&*^(*&^(*% 好吧&#xff…

【CesiumJS入门】(0)专栏介绍&项目搭建

前言 开了一个新的专栏&#xff0c;叫【CesiumJS入门】&#xff0c;因为自己也是初学者&#xff0c;所以专栏主要是记录自己学习CesiumJS的过程&#xff0c;如果还能给后来者带来一点参考那就真是太好了。 本项目的仓库地址&#xff1a;https://gitee.com/cswwww/cesium-tyro…

Python入门教程+项目实战-13.1节-集合基础概念

目录 13.1.1 理解集合类型 13.1.2 集合的类型名 13.1.3 集合的定义 13.1.4 在循环中遍历集合 13.1.5 集合的元素输出顺序 13.1.6 知识要点 13.1.7 系统学习python 13.1.1 理解集合类型 集合类型与字典类型非常接近&#xff0c;Python中的集合类型也是用{}符号括住的一个…

Zemax Lumerical | 二维光栅出瞳扩展系统优化(下)

简介 本文提出并演示了一种以二维光栅耦出的光瞳扩展&#xff08;EPE&#xff09;系统优化和公差分析的仿真方法。 在这个工作流程中&#xff0c;我们将使用3个软件进行不同的工作 &#xff0c;以实现优化系统的大目标。首先&#xff0c;我们使用 Lumerical 构建光栅模型并使用…

封装设计!抽象BasePage,提升WEB自动化测试用例质量和效率

目录 前言&#xff1a; 一、什么是抽象BasePage 二、BasePage中的属性和方法 三、BasePage中的代码实现 四、抽象Page对象 五、测试用例 六、总结 前言&#xff1a; 对于测试工程师来说&#xff0c;WEB自动化测试是非常重要的一部分。然而&#xff0c;WEB自动化测试的开…

软件测试实用案例上机报告一

文章目录 一、上机内容&#xff08;单元测试&#xff09;二、简单计算机测试1、题目2、编码&#xff08;源代码&#xff09;3、HTMLTestRunner生成可视化报告4、coverage查看覆盖情况 三、基本覆盖路径法测试1、题目2、编码&#xff08;源代码&#xff09;3、复读 &#x1f414…

【构造+数论+Tree】CF1627C

Problem - 1627C - Codeforces 题意&#xff1a; 给定一棵树的形态&#xff0c;让你给这棵树的边赋值&#xff0c;使得每对相邻的边的边权和都是质数 思路&#xff1a; 一开始模拟了一下样例&#xff0c;Sample3告诉我们如果有三条边相邻就是无解&#xff08;可以猜的结论&a…

详解.NET IL代码

IL是什么&#xff1f; Intermediate Language &#xff08;IL&#xff09;微软中间语言 C#代码编译过程&#xff1f; C#源代码通过LC转为IL代码&#xff0c;IL主要包含一些元数据和中间语言指令&#xff1b; JIT编译器把IL代码转为机器识别的机器代码。如下图 语言编译器&am…