大数据学习——hive常用DDL+命令

本文详细介绍了Hive的常用DDL操作,包括查看数据库、创建库(基础、标准写法、指定路径)、创建表(管理表、外部表)、查看表结构、添加描述信息、查询表、删除库(空库、非空库)以及数据导入。同时,还讨论了Hive的命令行操作,如直接执行SQL、从文件中读取SQL、查看HDFS文件和历史操作等。
摘要由CSDN通过智能技术生成

https://www.cnblogs.com/qingyunzong/p/8710356.html

一、常用DDL

以下代码块都是运行了hive后所在的界面代码复制

1.查看数据库

show databases;

2.创建库

最基础的创建库

hive> create database hive_db;

创建库标准写法

hive> create database if not exists hive_db;

创建库指定hdfs路径

(指定/hive/db路径后,生成的表文件将在该hdfs路径/hive/db下)

hive> create database hive_db2 location '/hive/db';

3.创建表

hive> create table  users (id int,name string);

如果指定了hdfs路径 创建的表存在于这个路

4.查看数据库结构

hive> desc database hive_warehouse;
OK
hive_warehouse		hdfs://bigdata121:9000/hive_warehouse	root	USER	
Time taken: 0.047 seconds, Fetched: 1 row(s)

5.添加额外的描述信息

注意查看使用desc database extended hive_warehouse

hive> alter database hive_warehouse set dbproperties ('createUser'='oodp','createDate'='2020-08-27');
OK
Time taken: 1.007 seconds
hive> desc database extended hive_warehouse;
OK
hive_warehouse		hdfs://bigdata121:9000/hive_warehouse	root	USER	{createUser=oodp, createDate=2020-08-27}
Time taken: 0.335 seconds, Fetched: 1 row(s)
hive> 

6.查询使用通配符 * 的表

hive> show databases like '*db*';
OK
hive_db
hive_db2
Time taken: 0.036 seconds, Fetched: 2 row(s)

7. 删除库

删除空库

hive> drop database hive_db2;
OK
Time taken: 0.424 seconds

如果删除的是非空库,这样写会报错

hive> drop database hive_warehouse;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Database hive_warehouse is not empty. One or more tables exist.)

删除非空库

hive> drop database hive_warehouse cascade;
OK
Time taken: 0.987 seconds

删除非空库标准写法

hive> drop database if exists hive_warehouse cascade;

8.创建表

create [external] table [if not exists] table_name(字段信息) [partitioned by (字段信息)] [clustered by (字段信息)] [sorted by (字段信息)] row format delimited fields terminated by '切割符';

管理表

默认不加external创建的就是管理表,也称为内部表。

外部表

创建时添加了 external ,就是外部表

区别:如果是管理表删除hdfs中数据即被删除;如果是外部表删除,hdfs数据不会被删除

查看表结构

hive> desc formatted users;
  • 不带formatted ,查看的属性内容少
hive> desc users;

导入数据

load data [local] inpath ‘’ into table itstar;
load data加载数据
local可选操作,如果写了local,代表的是本地路径,如果没有local代表的是hdfs的路径

示例:创建表

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

导入数据

   hive> load data local inpath '/opt/software/users.txt' into table users; 

二、hive 命令

不登录hive客户端直接输入命令操作

Hive bin/hive -e “select * from itstar;”

直接把sql写入到文件中

bin/hive -f /root/hived.sql

查看hdfs文件

dfs -ls /; dfs -cat /wc/in/words.txt;

查看历史操作

cat ~/.hivehistory

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值