HIVE基本操作

前提:虚拟机安装HIVE,并连接。

hive启动hive thrift服务端,使用命令

启动为前台,我们需要再打开一个终端运行以下命令:

DG连接hive

基础操作

显示所有库
show databases;
创造库
create database hive_dev;
删除无数据库
drop database hive_test;
强制删除有数据库
drop database hive_test casecade;
查看库
desc database hive_dev;
使用库
use hive_dev;

 DDL操作

建表

create table student
(
  id int comment '学生主键',
  stu_name string 
)comment '学生表'
查看表
show tables;
desc student;
插入数据
insert into student values (1,'zhangsan'),(2,'lisi'),(3,'wangwu');
查询数据
select * from student;

内部传输数据操作 

create table student_inner
(
  id int comment '学生主键',
  stu_name string
)comment '学生表'
 row format delimited fields terminated by '|'
 stored as textfile;
装载数据
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename 
查询数据
select * from student_inner;

外部传输数据 

create table student_outer
(
  id int comment '学生主键',
  stu_name string
)comment '学生表'
 row format delimited fields terminated by '|'
 stored as textfile location '传入路径';
 装载数据
 LOAD DATA INPATH '数据路径' INTO TABLE student_outer;
 查询数据
 select * from syudent_outer;

分区-partitioned 

create table student_outer_pd
(
    id int comment '学生主键',
    stu_name string
)comment '学生表' partitioned by (pd string)
 row format delimited fields terminated by '|'
 stored as textfile location '传入路径';
 
LOAD DATA LOCAL INPATH '/root/stu.txt' INTO TABLE student_outer_pd partition (pd='202401');--自行设置
LOAD DATA LOCAL INPATH '/root/stu1.txt' INTO TABLE student_outer_pd partition (pd='202402');
LOAD DATA LOCAL INPATH '/root/stu2.txt' INTO TABLE student_outer_pd partition (pd='202403');
查询数据
select * from student_outer_pd where pd='202401';

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Hive是一个基于Hadoop数据仓库工具,用于进行大规模数据分析和查询。下面是Hive的一些基本操作命令: 1. 使用命令`show databases;`可以查看当前所有的数据库。 2. 使用命令`CREATE DATABASE park;`可以创建一个名为park的数据库。实际上,创建数据库相当于在Hadoop的HDFS文件系统中创建了一个目录节点,统一存在`/usr/hive/warehouse`目录下。 3. 使用命令`USE park;`可以进入park数据库。 4. 使用命令`show tables;`可以查看当前数据库下的所有表。 5. 使用命令`CREATE TABLE stu (id INT, name STRING);`可以创建一个名为stu的表,其中包含id和name两个字段。在Hive中,使用的是STRING类型来表示字符,而不是CHAR或VARCHAR类型。所创建的表实际上也是HDFS中的一个目录节点。默认情况下,所有在default数据库下创建的表都直接存在`/usr/hive/warehouse`目录下。 6. 使用命令`INSERT INTO TABLE stu VALUES (1, 'John');`可以向stu表中插入数据。HDFS不支持数据的修改和删除,但在Hive 2.0版本后开始支持数据的追加,可以使用`INSERT INTO`语句执行追加操作。Hive支持查询和行级别的插入,但不支持行级别的删除和修改。实际上,Hive的操作是通过执行MapReduce任务来完成的。插入数据后,我们可以在HDFS的stu目录下发现多了一个文件,其中存储了插入的数据。因此,可以得出结论:Hive存储的数据是通过HDFS的文件来存储的。 7. 使用命令`SELECT id FROM stu;`可以查询stu表中的数据,并只返回id字段的值。 需要注意的是,如果想在HDFS目录下自己创建一个分区,并在该分区下上传文件,需要执行一些额外的操作。首先,手动创建的分区在Hive中是无法使用的,因为原数据库中没有记录该分区的信息。要让自己创建的分区被识别,需要执行命令`ALTER TABLE book ADD PARTITION (category = 'jp') LOCATION '/user/hive/warehouse/park.db/book/category=jp';`。这条命令的作用是在原数据表book中创建对应的分区信息。另外,还可以使用命令`ALTER TABLE book****** 'nn');`来修改分区。 希望以上信息能对你有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值