首页 > 其他分享 >Hive的基本操作用法

Hive的基本操作用法

时间:2024-11-10 22:44:58浏览次数:5  
标签:string database create Hive 用法 table 基本操作 数据库

一、Hive库操作

1.创建数据库

create database bigdata32;
标准写法:create database if not exists databases;(判断是否存在,无论存不存在都不会报错)

2.创建数据库和位置

create database bigdata32_test location '/bigdata32ligang.db';

3.修改数据库

注意:数据库的其他元数据信息都是不可更改的,包括数据库名和数据库所在的目录位置。
alter database dept set dbproperties('createtime'='20220531');更改创建时间

4.数据库的详细信息

1.显示数据库
show databases;
2.通过like进行过滤
show databases like 't*';
3.查看数据库详情
desc database bigdata32;
4.切换数据库
use bigdata32;

5.删除数据库

drop database bigdata_test;

使用判断
drop database if exists bigdata32_test;
注意:上面两种写法只有当数据库为空的时候才能删除
当数据库不为空时:
drop database if exists bigdata32_test cascade;

二、Hive的数据类型

基础数据类型
BIGINT:占四位,64位有符号整型。取值范围:-2 63 +1~2 63 -1。
DECIMAL:10进制精确数字类型。precision:表示最多可以表示多少位的数字。取值范围:1 <= precision <= 38。scale:表示小数部分的位数。取值范围: 0 <= scale <= 38。如果不指定以上两个参数,则默认为decimal(10,0)。
STRING:字符串类型

复杂数据类型
ARRAY:arrayarray<struct<a:int, b:string>> MAP:map<string, string>map<smallint, array>

三、Hive的表操作

1.Hive的存储格式

Hive的存储格式:

Hive没有专门的数据文件格式,常见的有以下几种:

TEXTFILE正常的文本格式,最常用的格式
​ SEQUENCEFILE
​ AVRO
RCFILE
ORCFILE
PARQUET
ORCFILE存储文件读操作效率最高
ORCFILE存储文件占用空间少,压缩效率高

2.创建表

1.使用默认建表方式
create table IF NOT EXISTS students
(
id bigint,
name string,
age int,
gender string,
clazz string
)
ROW FORMAT DELIMITED FIELDS TERMINATED ',';//必选,指定分隔符

2.指定location
create table IF NOT EXISTS students2
(
id bigint,
name string,
age int,
gender string,
clazz string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/bigdata27/input1';

3.指定存储格式
create table IF NOT EXISTS test_orc_tb
(
id bigint,
name string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS ORC
LOCATION '/bigdata29/out6'; //设置存储的格式为orcfile,如果不指定存储格式,默认都是textfile

4.只想建表,不想加载数据的,仿造其他数据表
create table students5 like students;


5.先创建一个空表,再通过insert into插入数据

3.加载数据

1、使用hdfs dfs -put '本地数据' 'hive表对应的HDFS目录下'


再进行查询

2.通过sql语句将文件传入hdfs上
load data local inpath '/usr/local/soft/bigdata32/data/student.txt' into table students4;
这里inpath的路径必须是master上的文件的路径

// overwrite 覆盖加载,将文件以覆盖的方式加载进去
load data local inpath '/usr/local/soft/data/students.txt' overwrite into table students;

3、create table xxx as SQL语句
创建表的同时将数据传入进去

4、insert into table xxxx SQL语句 (没有as)
当表存在的时候将查询的数据插入进去

Hive内外部表

面试题:内部表和外部表的区别?如何创建外部表?工作中使用外部表

1.hive内部表

当创建好表的时候,HDFS会在当前表所属的库中创建一个文件夹
当设置表路径的时候,如果直接指向一个已有的路径,可以直接去使用文件夹中的数据
当load数据的时候,就会将数据文件存放到表对应的文件夹中
而且数据一旦被load,就不能被修改
我们查询数据也是查询文件中的文件,这些数据最终都会存放到HDFS
当我们**删除表的时候,表对应的文件夹会被删除,同时数据也会被删除
默认建表的类型就是内部表
// 内部表
create table students_internal
(
id bigint,
name string,
age int,
gender string,
clazz string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/input2';

2.外部表

create external table students_external
(
id bigint,
name string,
age int,
gender string,
clazz string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/input3';

标签:string,database,create,Hive,用法,table,基本操作,数据库
From: https://www.cnblogs.com/ndmtzwdx/p/18538666

相关文章

  • Python decimal模块用法
    decimal模块:decimal意思为十进制,这个模块提供了十进制浮点运算支持1.可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。    在Python中,将变量声明为 Decimal 类型通常用于需要高精度和小数运算的场合。Decimal 类型属于 deci......
  • hive的基本概念
    一、Hive的基本概念1、什么是hive(面试题)答:1.hive是一个可以将sql语句转换成mapreduce任务的工具2.hive能够将结构化的数据组织在表中,支持分区和分桶,便于数据的管理和查询3.hive是数据仓库建模的工具之一,他本身并不是数据库2、为什么使用hive答:1.直接使用mapreduce的话,人......
  • hive的三种交互方式
    一、shell交互Hive,用命令hive启动一个hive的shell命令行,在命令行中输入sql或者命令来和Hive交互首先在主节点上启动Hadoop集群,再启动hive元数据服务启动hadoopstart-all.sh启动hive元数据服务nohuphive--servicemetastore>>/usr/local/soft/hive-3.1.2/startl......
  • 安娜的档案(Anna’s Archive)官网最新镜像网站入口(实时更新)
    安娜的档案(Anna’sArchive)是一个广受欢迎的在线资源平台,汇集了Z-Library、LibraryGenesis和Sci-Hub等资源,拥有超过2000万册书籍和9000万篇论文。该网站提供多种下载选项,包括快速、慢速、libgen、IPFS和Tor浏览器下载,以满足不同用户的网络和需求。用户可以无需注册,直接免费获取资......
  • 【python】路径与文件管理:pathlib库的现代用法
    【Python】路径与文件管理:pathlib库的现代用法在日常的Python开发中,文件和路径管理是一个常见的任务。无论是读取文件,创建目录,还是获取文件属性,都涉及到路径操作。在Python的早期版本中,我们使用os和os.path模块来处理路径,但这些方法往往显得冗长且不够直观。为了......
  • CMD常见命令及用法
    简介ASSOC    显示或修改文件扩展名关联。ATTRIB    显示或更改文件属性。BREAK    设置或清除扩展式CTRL+C检查。BCDEDIT   设置启动数据库中的属性以控制启动加载。CACLS    显示或修改文件的访问控制列表(ACL)。CALL ......
  • 4-2-2.C# 数据容器 - HashSet(HashSet 的定义、HashSet 元素的基本操作、HashSet 元素
    HashSet概述HashSet<T>存储的元素是无序的HashSet<T>存储的元素是不可重复的HashSet<T>支持泛型,可以指定存储的元素的类型HashSet<T>不支持索引,不可以通过索引获取或修改元素HashSet<T>不是线程安全的,在多线程环境中需要谨慎使用一、HashSet的定义定义......
  • 五子棋软件简介及其用法
    本文按照五子棋对弈平台、五子棋单机版软件、五子棋界面+引擎三种模式的顺序介绍。五子棋对弈平台人机对弈 http://wap.lltskb.com/shfw/game/wzq/index.html?eqid=a0cd9efb0000c3ca00000006645b4932 天天象棋里的欢乐五子棋   五子棋单机版软件gomocalc网页......
  • 六、MyBatis-Plus高级用法(1):最优化持久层开发
    一、MyBatis-Plus快速入门1.1简介课程版本:3.5.3.1MyBatis-Plus......
  • hive的搭建
    apacheHive官网下载apache-hive-3.1.2-bin.tar.gz华为镜像站下载MySQLmysql-connector-java-8.0.29.jar/usr/local/soft/jars上传到该目录下1、解压该目录下解压到上一个目录下tar-zxvfapache-hive-3.1.2-bin.tar.gz-C../2.重命名[root@mastersoft]#mvapache-......