Hive(四)【DML 数据导入导出】
一.数据导入
1.1 【load】--向数据中装载数据
load data [local] inpath '数据的路径' [overwrite] into table 表名 [partition('属性'='值',...)];
--load data:表示加载数据
--local:从本地加载数据到hive表;否则从hdfs上加载数据到hive表
--inpath:待加载数据的路径
--overwrite:覆盖表已有数据;否则追加
--into 表名:加载到那张表
--partition:加载进指定分区
案例
1.加载本地文件到hive表
load data local inpath '/opt/moudle/hive/datas/student.txt' into table student;
2.加载hdfs文件到hive表
load data inpath '/user/student.txt' into table student;
3.加载hdfs数据且覆盖student表中数据
load data inpath '/user/student2.txt' overwrite into table student;
1.2 【insert】--查询语句向表中插入数据
insert into/overwrite table 表名
select id,name from student where id<1006;
--into:追加
--overwrite:覆写
注意:insert不支持插入部分字段,并且后边跟select语句时,select之前不能加as,加了as会报错,一定要跟创建表的as select区分开
案例
1.基本模式插入几条数据
insert into table student values(1004,'张三'),(1005,'王五');
2.根据查询结果插入数据,覆盖原数据
insert overwrite table student2 select id,name from student where id < 1006;
1.3 【as select】--查询语句中创建表且加载数据
案例
create table if not exists 表2 as select id,name from 表1;
1.4 【location】--创建表指定location加载数据
案例
create table if not exists 表名(
字段1 类型,
字段2 类型,
...
)
row format delimited fields terminated by '\t'
location '/student';
1.5 【import】--import数据到Hive中
案例
import table 表名 from '/user/hive/warehouse/export/student';
注意:必须是通过export导出的数据,才能通过import导入。因为export导出的数据包含元数据,要求import导入的表不能存在;
1.6 【sqoop】--工具导入
二.数据导出
1.1【insert】--insert导出
案例
1.将查询结果格式化导出到本地
insert overwrite local directory '/opt/module/hive/datas/export/student'
row format delimited fields terminated by '\t'
select * from student;
2.将查询结果导出到hdfs(没有local)
insert overwrite directory'/user/student2'
row format delimited fields terminated by '\t'
select * from student2;
注意、注意、注意!:insert导出的目录hive会自动创建,所以导出目录要写不存在的目录,否则overwrite很容易误删数据。
1.2【hadoop fs -get】--hadoop命令导出
案例
1.先查看表信息
desc formatted 表名;
2.根据表信息找到表在hdfs数据的存储位置,再下载到本地
hadoop fs -get 'hdfs数据存储路径' '本地路径';
hadoop fs -get '/user/hive/warehouse/student/student.txt' '/opt/export/student.txt';
1.3【hive的shell命令】
在脚本可以通过此方式导出数据到文件
案例
基本语法:(hive -f/-e 执行语句或者脚本 > file)
bin/hive -e 'select*from student;' > /opt/module/hive/data/export/student4.txt
1.4【export】--export导出到hdfs
export和import主要用于两个Hadoop平台集群之间Hive表迁移,不能直接导出的本地
案例
export table default.student to '/user/hive/warehouse/export/student';
1.5【sqoop】--工具导出
Hive(四)【DML 数据导入导出】的更多相关文章
- Hive四种数据导入方式介绍
问题导读 1.从本地文件系统中通过什么命令可导入数据到Hive表? 2.什么是动态分区插入? 3.该如何实现动态分区插入? 扩展: 这里可以和Hive中的三种不同的数据导出方式介绍进行对比? Hive ...
- 【hive】——Hive四种数据导入方式
Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在 ...
- Hive总结(七)Hive四种数据导入方式
- Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)
Hive总结(七)Hive四种数据导入方式 (强烈建议去看) Hive几种数据导出方式 https://www.iteblog.com/archives/955 (强烈建议去看) 把MySQL里的数据 ...
- 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上
阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...
- Hive 实战(1)--hive数据导入/导出基础
前沿: Hive也采用类SQL的语法, 但其作为数据仓库, 与面向OLTP的传统关系型数据库(Mysql/Oracle)有着天然的差别. 它用于离线的数据计算分析, 而不追求高并发/低延时的应用场景. ...
- Hive常用操作之数据导入导出
一.Hive数据导入导出 1.hive数据导出 很多时候,我们在hive中执行select语句,希望将最终的结果保存到本地文件或者保存到hdfs系统中或者保存到一个新的表中,hive提供了方便的关键词 ...
- 数据仓库Hive数据导入导出
Hive库数据导入导出 1.新建表data hive (ebank)> create table data(id int,name string) > ROW FORMAT DELIMIT ...
- 如何利用sqoop将hive数据导入导出数据到mysql
运行环境 centos 5.6 hadoop hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...
随机推荐
- 便宜的回文串(区间DP)
题目链接:便宜的回文串 这道题刚开始其实还是没有思路的.没办法,只能看题解了... 其实我们在思考问题时,考虑到一段串增或减时会改变它的长度,所以转移时会麻烦... 但其实不用考虑那么多的问题,我们只 ...
- POJ 2446 Chessboard(二分图最大匹配)
题意: M*N的棋盘,规定其中有K个格子不能放任何东西.(即不能被覆盖) 每一张牌的形状都是1*2,问这个棋盘能否被牌完全覆盖(K个格子除外) 思路: M.N很小,把每一个可以覆盖的格子都离散成一个个 ...
- PE头详细分析
目录 PE头详细分析 0x00 前言 0x01 PE文件介绍 0x02 PE头详细分析 DOS头解析 NT头解析 标准PE头解析 可选PE头解析 可选PE头结构 基址 代码段地址 数据段地址 OEP程 ...
- linux&c 进程控制 课后习题
(声明:本篇博客只是博主自己的理解,加以整理,目的是总结刚学过的进程知识,不一定绝对正确,非常愿意听客官您提出宝贵意见.) Q1:进程中的全局数据段(全局变量),局部数据段(局部变量),静态数据段的分 ...
- 设计模式二--模板方法Template method
模式分类: 书籍推荐:重构-改善既有代码的设计 重构获得模式 设计模式:现代软件设计的特征是"需求的频繁变化".设计模式的要点是 "寻找变化点,然后在变化点处应用设计模式 ...
- Loadrunner12的下载和安装
工作需要,学起来 第一部分:安装 一.在惠普官网下载Loadrunner12安装包.下载下来将会有四个安装包. HP_LoadRunner_12.02_Community_Edition_Additi ...
- 难顶!面试官问我G1垃圾收集器
面试官:要不这次来聊聊G1垃圾收集器? 候选者:嗯嗯,好的呀 候选者:上次我记得说过,CMS垃圾收集器的弊端:会产生内存碎片&&空间需要预留 候选者:这俩个问题在处理的时候,很有可能会 ...
- Python基础(slice切片)
l = ['傻狗1','傻狗2','傻狗3','傻狗4','傻狗5','傻狗6'] print(l[0:3])#['傻狗1', '傻狗2', '傻狗3'] numbers = list(range(1 ...
- React-Router学习(基础路由与嵌套路由)
示例:基本路由 在这个例子中,我们有3个'Page'组件处理<Router>. 注意:而不是<a href="/">我们使用<Link to=&quo ...
- Django笔记&教程 总目录
本篇博客只有目录,正文内容在目录章节链接的博客里 除目录本身外,没有链接的章节,说明内容还没开始编辑 本项目笔记仍在不断创作中,还有些内容会根据自身所学不断更新完善 本项目主要为markdwon文档, ...