hiveQL数据定义
来源:互联网 发布:linux gtk编程 编辑:程序博客网 时间:2024/05/20 11:34
hive不支持行级插入操作、更新操作、删除操作,hive也不支持事物。
1,创建数据库
create database xxx;
show databases;
use xxxdatabase;
hive 会为每个数据库创建一个目录,数据库中的表将会以这个数据库目录的子目录形式存储。有一个例外就是default数据库中的表,因为这个数据库本身没有自己的目录。
目录位置位于属性hive.metastore.warehouse.dir所指定的目录之后,默认是/user/hive/warehouse(指的是hdfs上的路径)。
改变这个路径可以在创建表的时候指定location '/xxx/xxxx';
用户查看路径:
describe database xxdatabase;
创建数据库时可以增加一些和其相关的键值对属性信息
create database xxxdatabase
with dbproperties ('creator' = 'mark', 'date' = '2017-08-14');
提示符里显示当前使用数据库。
set hive.cli.print.current.db=true;
删除数据库:
drop database if exists xxxdatabase;
hive不能删除包含有表的数据库,所以可以在命令后加上cascade
drop database if exists xxxdatabase cascade;
2,修改数据库
hive的数据库的元数据是不能修改的,只能改属性信息,比如:
alter database financials set dbproperties ('creator2'='ady');
3,创建表
create table if not exists zhangtest.employees(
home string comment 'employee name',
salary float comment 'employee salary',
subordinates array<string> comment 'names of subordinates',
deductions map<string,float>
comment 'keys are deductions names, values are percentages',
adress struct<street:string, city:string, state:string, zip:int>
comment 'home adress')
comment 'description of the table'
location '/user/hive/warehouse/zhangtest.db/employee'
tblproperties ('creator'='me', 'data'='2017');
可以使用desc formatted zhangtest.employees;
查看表的格式化信息。
管理表也叫内部表,目前为止我们创建的表都是这种表,hive控制着数据的声明周期。
当我们删除一个表时,hive也会删除这个表中的数据。
外部表
create external table if not exists taobaoAccount333 (
email string)
row format delimited fields terminated by ''
location '/input/333/';
关键字external告诉hive这个表是外部表,而location告诉hive数据位于哪个路径下。
删除外部表时,并不会删除数据,而是删除元数据信息。
使用desc extended tabblename 来查看是否内部表或外部表。
分区表
create table xxx (xxxxxxxxxxxxx)
partitioned by(xx, yy);
hive将会创建好反映分区结构的子目录。例如:/xx=xx/yy=yy
show partitions tablename;查看表中存在的所有分区。
删除表
drop table if exists taobaoAccount333;
如果用户开启了hadoop回收站功能,那么被删除的数据会被移到用户目录下的.trash目录下。
对于外部表,表的元数据信息会被删除。
修改表
重命名表
alter table xxx rename to yyy
修改表还有好多。。。。
阅读全文
0 0
- HiveQL数据定义
- HiveQL:数据定义
- HiveQL数据定义
- HiveQL:数据定义
- HiveQL:数据定义
- hiveQL数据定义
- Hive--HiveQL:数据定义、数据操作
- HiveQL:对数据定义的学习
- Hive编程(四)【HiveQL:数据定义】
- HiveQL:数据操作
- HiveQL:数据操作
- HiveQL:数据操作
- hiveQL
- HiveQL 数据定义语言使用(一)—Hive中数据库的创建、显示、删除和修改操作介绍
- HiveQL中如何排查数据倾斜问题
- Hive编程(五)【HiveQL:数据操作】
- hiveQL例子
- HiveQL详解
- 逆序输出单词
- wex5开发-文件下载(可实现app内下载更新apk)
- 109. Convert Sorted List to Binary Search Tree
- 测试用例设计——web类测试
- 数据结构01_线性表_实验楼学习笔记
- hiveQL数据定义
- java中动态的读取src下面的配置文件,动态的读取同个包下面的配置文件。
- 20170818
- Splay模板
- 如何用Python写一个贪吃蛇AI
- 【Django 初学】 -- 配置Mysql
- 算法学习之旅,中级篇(2)-–插入排序
- 创建模式之单例模式
- 代码乱搞