导入数据:
1、load data local inpath ‘本地虚假机文件路径’ into table 数据库(.)表名;
将本地的数据导入到hive中
从hdfs集群导入数据
2、load data inpath ‘hdfs://虚拟机名称:9000/user/tes.txt’ into table test.te;

创建表:
内部表–删除之后数据全部丢失
外部表–删除元数据之后源数据还存在
1、结构一样,但是数据不一样 ----like
create table bws like te;
2、结构一样,数据也一样----as
create table bws2 as select * from tes;

ROW FORMAT DELIMITED : 行格式分隔
FIELDS TERMINATED BY ’,’ : 字段之间使用空格分隔
COLLECTION ITEMS TERMINATED BY ‘-’ : 集合(就是这的数据)使用逗号分隔
MAP KEYS TERMINATED BY ‘:’ : 键值对使用冒号分隔
LINES TERMINATED BY ‘\n’ : 记录之间使用换行符分隔

课下作业:
create table psn1(
id int,
name varchar(11),
hobby arrays,
address map<string,string>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ’,’
COLLECTION ITEMS TERMINATED BY ‘-’
MAP KEYS TERMINATED BY ‘:’ :
LINES TERMINATED BY ‘\n’
数据格式:
11,小明11,lol-book-movie,beijing:bawei-shanghai:putdong
11,小明12,lol-book-movie,beijing:bawei-shanghai:putdong
11,小明11,lol-book-movie,beijing:bawei-shanghai:putdong
11,小明14,lol-book-movie,beijing:bawei-shanghai:putdong

创建表:

Hive 内部表
CREATE TABLE [IF NOT EXISTS] table_name
删除表时,元数据与数据都会被删除
Hive 外部表 ----EXTERNAL
CREATE EXTERNAL TABLE [IF NOT EXISTS] table_name LOCATION hdfs_path
删除外部表只删除metastore的元数据,不删除hdfs中的表数据

Hive 查看表描述

DESCRIBE [EXTENDED|FORMATTED] table_name
extended
formatted
table-type:查看创建表的类型

补充:临时表
在当前进程中可以对数据进行相应的操作,但是退出hive时,就自动删除
create temporary table name-----一定是一张内部表

Hive 分区partition

必须在表定义时指定对应的partition字段
a、单分区建表语句:
create table day_table (id int, content string) partitioned by (dt=int );上传数据:load data local inpath '/root/tes.txt' into table test.usr partition (age=10);
单分区表,按天分区,在表结构中存在id,content,dt三列。
以dt为文件夹区分
粗细力度分区的时候要根据业务需求,提前进行相应的设定 年月日时分秒

b、 双分区建表语句:
create table hour (id int, content string) partitioned by (dt int, hour int);
双分区表,按天和小时分区,在表结构中新增加了dt和hour两列。
先以dt为文件夹,再以hour子文件夹区分

增加分区
alter table hour add partition(dt=10,hour=40);

alert table tablename add partiton(age=10,sex='man')
也就是说添加分区的时候不能直接添加,而是需要将原来的分区也要包含其中,完成相应的排序
删除分区
alter table tablename drop partition (sex='boy')注:删除分区的时候,会将所有存在的分区都删除

动态分区:
1、修改权限
set hive.exec.dynamic.partiton=true //开启动态分区
2、修改默认状态
set hive.exec.dynamic.partiton.mode=nostrict //默认strict。至少有一个静态分区

创建分区表:
create table psn22(
id int,
name string,
likes array,
address map<string ,string>
)
partitioned by (age int ,sex string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ’,’
COLLECTION ITEMS TERMINATED BY ‘,’
MAP KEYS TERMINATED BY ‘:’
LINES TERMINATED BY ‘\t’

写入数据
from psn21 //已经存在的表格并且要有数据
insert overwrite table pas22 partiton (age,sex)
select * distribute by age,sex

分桶表:
测试数据
1,tom,11

开启分桶
set hive.enforce.bucketing=true
创建桶
create table psnbucket1 (
id int,
name string,
age int)
clustered by (age) into 4 buckets
row format delimited
fields terminated by ‘,’
加载数据
insert into table psnbucket select id,name,age from psn31
抽样
select * from bucket_table tablesample(bucket 1 out of 4 by colimes)

hive 三种表的创建相关推荐

  1. oracle数据库开多线程,学习笔记:Oracle表数据导入 DBA常用单线程插入 多线程插入 sql loader三种表数据导入案例...

    天萃荷净 oracle之数据导入,汇总开发DBA在向表中导入大量数据的案例,如:单线程向数据库中插入数据,多线程向数据表中插入数据,使用sql loader数据表中导入数据案例 1.Oracle数据库 ...

  2. DB2支持的三种表空间SMS、DMS、DMS的自动存储

    文章来源:http://blog.itpub.net/25744374/viewspace-750054/ DB2中,表空间是数据库与这个数据库中存储的表之间的逻辑层.表空间在数据库中创建,表在表空间 ...

  3. JAVA 三种线程实现创建方式

    JAVA 三种线程实现/创建方式 方式一:继承Thread类 通过继承Thread类来创建一个自定义线程类.Thread类本质上就继承了Runable接口,代表一个线程类.启动线程的唯一办法就是通过T ...

  4. MySQL中三种表关系的建立

    一:约束条件之主键 1.什么是主键? 从约束条件的角度,主键是非空且唯一的字段 not null unique create table t1(id int not null unique,name ...

  5. hive三种元数据存储方式

    hive本身不存储数据,借助hdfs存储数据,hive和关系型数据库一样是有表结构的,这些信息hive也存储在第三方软件中,如derby.mysql. 根据元数据的存储方式,hive的部署可以分为三种 ...

  6. 玩转MYSQL(2) 数据库的约束、聚合查询、联合查询以及三种表的设计

    目录标题 一.MYSQL的那些约束你掌握了几种? 二.表与表之间的三种关系 三.查询 3.1 :聚合查询 3.2.GROUP BY 3.3.HAVING和group by 搭配使用 3.4.联合查询 ...

  7. Spring创建对象的三种方式以及创建时间

    创建对象的三种方式: 1.采用默认的构造函数创建 2.采用静态工厂方法 1.写一个静态工厂方法类 public class HelloWorldFactory { public static Hell ...

  8. mysql 创建表_每天10分钟带你学会MySQL(三)表的创建

    要掌握的要点: 表通过CREATE TABLE语句创建而成. 表和列的命名要使用有意义的文字. 指定列的数据类型(整数型.字符型和日期型等). 可以在表中设置约束(主键约束和NOT NULL约束等). ...

  9. 三种C/C++创建文件夹的方法

    第一种: 调用MFC封装好的接口函数,主要会用到 PathIsDirectory //判断是否存在 ::CreateDirectory //创建 例如: #include "shlwapi. ...

最新文章

  1. Python3中__init__.py文件介绍
  2. 深入了解Oracle前滚恢复rolling forward(一)
  3. synchronized与Lock的区别与使用
  4. Python学习笔记(5)——使用list和tuple
  5. [转] C# Winform 拦截关闭按钮触发的事件
  6. 服务器网卡的连接速度改成自动检测_ubuntu xftp,ubuntu xftp之间怎么连接,连接步骤...
  7. Hibernate框架 一对多,多对多映射
  8. JavaScript中通过点击单选框动态显示和隐藏组件
  9. 点餐系统的设计(二)---数据管理模块代码实现
  10. BZOJ3668:[NOI2014]起床困难综合症(贪心)
  11. ocs添加仓库受限问题
  12. SQL文件的BOM问题导致的invalid character错误及解决
  13. 【转载】Altera官方资料整理
  14. PopWindow使用方法详解
  15. SIM868_GNSS结果解析
  16. 设计师工资低?10大网站助你快速涨1万身价
  17. Pytorch实战宝可梦分类-自定义数据集完成宝可梦分类案例分步解析
  18. “有意思”的英语单词(5)
  19. 计算机组装与维护考试题a卷,计算机组装与维护考试题A卷.docx
  20. 分类---逻辑回归(二分类)

热门文章

  1. pageOffice插件在IE浏览器中无法弹出的解决方法
  2. Google Protobuf oneof使用
  3. 国土面积c语言编程,土地利用规划试题
  4. 主题黑板.html,开学主题黑板报内容
  5. Ipsa aliquam omnis quibusdam maiores excepturItaque asperiores quae consectetur veniam amet.i atque.
  6. html颜色王全透明,王老师html零基础课后练习第8课——圆角阴影hover
  7. Java基础+流程控制+方法+数组【笔记含代码】
  8. C语言 —— 扫雷游戏
  9. 电信宽带无法做端口转发
  10. 智慧公路顶层设计方案