Hive之DDL数据操作


目录

  1. 数据导入
  2. 数据导出
  3. 清除表中数据

1. 数据导入

1. 向表中装载数据(Load)
  1. 语法
    hive> load data [local] inpath ‘/opt/module/datas/student.txt’ [overwrite] into table student [partition (partcol1=val1,…)];
    (1)load data:表示加载数据
    (2)local:表示从本地加载数据到hive表(复制);否则从HDFS加载数据到hive表(移动)
    (3)inpath:表示加载数据的路径
    (4)overwrite into:表示覆盖表中已有数据,否则表示追加
    (5)into table:表示加载到哪张表
    (6)student:表示具体的表
    (7)partition:表示上传到指定分区
    2.实操案例
    (0)创建一张表
hive (default)> create table student(id string, name string) row format delimited fields terminated by '\t';

(1)加载本地文件到hive

hive (default)> load data local inpath '/opt/module/datas/student.txt' into table default.student;

(2)加载HDFS文件到hive中
上传文件到HDFS

hive (default)> dfs -put /opt/module/datas/student.txt /user/centos/hive;

加载HDFS上数据

hive (default)> load data inpath '/user/centos/hive/student.txt' into table default.student;

(3)加载数据覆盖表中已有的数据
上传文件到HDFS

hive (default)> dfs -put /opt/module/datas/student.txt /user/centos/hive;

加载数据覆盖表中已有的数据

hive (default)> load data inpath '/user/centos/hive/student.txt' overwrite into table default.student;

2 通过查询语句向表中插入数据(Insert)
  1. 创建一张分区表
hive (default)> create table student(id int, name string) partitioned by (month string) row format delimited fields terminated by '\t';
  1. 基本插入数据
hive (default)> insert into table  student partition(month='201709') values(1,'wangwu');
  1. 基本模式插入(根据单张表查询结果)
hive (default)> insert overwrite table student partition(month='201708')select id, name from student where month='201709';
  1. 多插入模式(根据多张表查询结果)
hive (default)> from studentinsert overwrite table student partition(month='201707')select id, name where month='201709'insert overwrite table student partition(month='201706')select id, name where month='201709';

3. 查询语句中创建表并加载数据(As Select)

详见4.5.1章创建表。
根据查询结果创建表(查询的结果会添加到新创建的表中)

create table if not exists student3
as select id, name from student;

4. 创建表时通过Location指定加载数据路径

1.创建表,并指定在hdfs上的位置

hive (default)> create table if not exists student5(id int, name string)row format delimited fields terminated by '\t'location '/user/hive/warehouse/student5';

2.上传数据到hdfs上

hive (default)> dfs -put /opt/module/datas/student.txt
/user/hive/warehouse/student5;

3.查询数据

hive (default)> select * from student5;

5.1.5 Import数据到指定Hive表中
注意:先用export导出后,再将数据导入。

hive (default)> import table student2 partition(month='201709') from'/user/hive/warehouse/export/student';

2. 数据导出

1. Insert导出
  1. 将查询的结果导出到本地
hive (default)> insert overwrite local directory '/opt/module/datas/export/student'select * from student;
  1. 将查询的结果格式化导出到本地
hive(default)>insert overwrite local directory '/opt/module/datas/export/student1'ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'  select * from student;
  1. 将查询的结果导出到HDFS上(没有local)
hive (default)> insert overwrite directory '/user/atguigu/student2'ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' select * from student;
2. Hadoop命令导出到本地
hive (default)> dfs -get /user/hive/warehouse/student/month=201709/000000_0
/opt/module/datas/export/student3.txt;
3. Hive Shell 命令导出

基本语法:(hive -f/-e 执行语句或者脚本 > file)

[centos@hadoop102 hive]$ bin/hive -e 'select * from default.student;' >/opt/module/datas/export/student4.txt;
4. Export导出到HDFS上
(defahiveult)>export table default.student to'/user/hive/warehouse/export/student';
5. Sqoop导出

后面再学习。


3. 清除表中数据

注意:Truncate只能删除管理表,不能删除外部表中数据

hive (default)> truncate table student;

Hive之DDL数据操作相关推荐

  1. Hive之DDL数据定义

    Hive之DDL数据定义 目录 创建数据库 查询数据库 修改数据库 删除数据库 创建表 分区表 修改表 删除表 1. 创建数据库 创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive ...

  2. Hive加载数据操作

    Hive加载数据操作 一.load data 语法结构: load data [local] inpath 'filepath' [overwrite] into table table_name [ ...

  3. HIVE之 DDL 数据定义 DML数据操作

    DDL数据库定义 创建数据库 1)创建一个数据库,数据库在 HDFS 上的默认存储路径是/user/hive/warehouse/*.db.hive (default)> create data ...

  4. 【hadoop生态之Hive】Hive的DDL数据定义语言【笔记+代码】

    四.DDL数据定义 4.1 创建数据库 1)创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db. hive (default)> create ...

  5. hive学习笔记-数据操作

    hive数据操作 hive命令行操作 hive -d --define <key=value> 定义一个key-value可以在命令行中使用 hive -d database <da ...

  6. Hive(6)-DML数据操作

    一. 数据导入 1. 语法 load data [local] inpath 'path' [overwrite] into table table_name [partition (partcol1 ...

  7. (8)Hive的DDL数据定义(表的操作)

    文章目录 创建表 管理表 外部表 管理表和外部表的使用场景 案例实操 管理表与外部表的互相转换 分区表 分区表基本操作 创建分区表 加载数据到分区表中 单分区查询 增加分区 删除分区 查看分区 分区表 ...

  8. Database之SQLSever:T-SQL数据语言操作(数据定义语句DDL、数据操作语句DML、数据控制语句DCL、其他基本语句、流程控制语句、批处理语句)概念及其相关案例之详细攻略

    Database之SQLSever:T-SQL数据语言操作(数据定义语句DDL.数据操作语句DML.数据控制语句DCL.其他基本语句.流程控制语句.批处理语句)概念及其相关案例之详细攻略 目录 T-S ...

  9. Hive最新数据操作详解(超级详细)

    数据操作能力是大数据分析至关重要的能力.数据操作主要包括:更改(exchange),移动(moving),排序(sorting),转换(transforming).Hive提供了诸多查询语句,关键 ...

最新文章

  1. VDI序曲二十三 制作OFFICE 2003应用程序虚拟化序列
  2. java byte大小_Java中byte大小格式化
  3. 1018 锤子剪刀布 (20 分)
  4. elasticsearch api中的delete操作
  5. YOLT遥感图像检测算法详解
  6. g77,g95,gfortran的关系
  7. [设计模式] ------ 装饰模式
  8. HDU 4336 概率DP 状压
  9. C# DataTable的Distinct解决方案及表的复制
  10. 【带着canvas去流浪(14)】Three.js中凹浮雕模型的生成方式
  11. 你就要清楚的知道,自己日后的“盈利模式”是什么?
  12. C#语法基础(三)----窗体设计
  13. LINUX的bash的一些特性
  14. VUE+Django项目编写
  15. Whmcs、ZKEYS、星外、云谷IDCsystem、一对一、Swapidc哪个主机系统好用?
  16. 测试英语的软件有哪些内容,小学英语课本点读软件有哪些?小学英语课本点读APP测评...
  17. 病毒分析 - 特征码提取
  18. 利用K8S技术栈打造个人私有云(连载之:私有云客户端打造)
  19. Java:每日获取稳定可用免费代理ip(仅供日常使用,请勿用作他途)
  20. 快应用开发工具黑屏解决方案

热门文章

  1. iOS SAX解析XML
  2. android常见异常总结
  3. 李洪强漫谈iOS开发[C语言-025]-赋值运算符案例
  4. Mozilla宣布关闭 Persona
  5. Android:简易单词本(三)
  6. 兰州大学第一届『飞马杯』程序设计竞赛 - ★★体育课排队★★(二分+最大流)
  7. POJ - 3662 Telephone Lines(分层图最短路)
  8. CodeForces - 91B Queue(单调队列+二分)
  9. 费用流:最大费用最大流和最小费用最大流(模板)
  10. python哈夫曼树_python霍夫曼树