Hive(6)-DML数据操作
一. 数据导入
1. 语法
load data [local] inpath 'path' [overwrite] into table table_name [partition (partcol1=val1,…)];
1). load data:表示加载数据
2). local:表示从本地加载数据到hive表;否则从HDFS加载数据到hive表
3). inpath:表示加载数据的路径
4). overwrite:表示覆盖表中已有数据,否则表示追加
5). into table:表示加载到哪张表
6). partition:表示上传到指定分区
2. 实操
1). 加载本地文件到hive
-- 创建一张表 create table student(id string, name string) row format delimited fields terminated by '\t';-- 加载本地文件 load data local inpath '/opt/module/datas/student.txt' into table default.student;
2). 加载HDFS文件到hive中
#上传文件dfs -put /opt/module/datas/student.txt /user/nty/hive;
-- 加载HDFS上数据 load data inpath '/user/nty/hive/student.txt' into table default.student;
3). 加载数据覆盖表中已有的数据
#上传文件 dfs -put /opt/module/datas/student.txt /user/nty/hive;
-- 加载数据覆盖表中已有的数据 load data inpath '/user/nty/hive/student.txt' overwrite into table default.student;
3. 通过查询语句向表中插入数据(Insert)
1). 创建一张分区表
create table student(id int, name string) partitioned by (month string) row format delimited fields terminated by '\t';
2). 基本插入数据
insert into table student partition(month='201709') values(1,'wangwu'),(2,’zhaoliu’);
3). 基本模式插入(根据单张表查询结果)
insert overwrite table student partition(month='201708') select id, name from student where month='201709';
insert into:以追加数据的方式插入到表或分区,原有数据不会删除
insert overwrite:会覆盖表或分区中已存在的数据
4).多表(多分区)插入模式(根据多张表查询结果)
from student insert 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';
4. 查询语句中创建表并加载数据(As Select)
-- 根据查询结果创建表(查询的结果会添加到新创建的表中) create table if not exists student3 as select id, name from student;
5. 创建表时通过Location指定加载数据路径
1). 上传数据到hdfs上
dfs -mkdir /student;dfs -put /opt/module/datas/student.txt /student;
2). 创建表,并指定在hdfs上的位置
create external table if not exists student5(id int, name string ) row format delimited fields terminated by '\t' location '/student;
6.Import数据到指定表中
import table student2 partition(month='201709') from '/user/hive/warehouse/export/student';
注意:先用export导出后,再将数据导入。
二. 数据导出
1.Insert 导出
-- 将查询的结果导出到本地 insert overwrite local directory '/opt/module/datas/export/student' select * from student;-- 将查询的结果格式化导出到本地 insert overwrite local directory '/opt/module/datas/export/student1' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' select * from student;-- 将查询的结果导出到HDFS上(没有local) insert overwrite directory '/user/nty/student2' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' select * from student;
2. Hadoop命令导出到本地
dfs -get /user/hive/warehouse/student/month=201709/000000_0 /opt/module/datas/export/student3.txt;
3. Hive Shell 命令导出
bin/hive -e 'select * from default.student;' > /opt/module/datas/export/student4.txt;
4. Export导出到HDFS上
export table default.student to '/user/hive/warehouse/export/student';
三. 清除数据(Truncate)
truncate table student;
Truncate只能删除管理表,不能删除外部表中数据
转载于:https://www.cnblogs.com/duoduotouhenying/p/10139290.html
Hive(6)-DML数据操作相关推荐
- HIVE之 DDL 数据定义 DML数据操作
DDL数据库定义 创建数据库 1)创建一个数据库,数据库在 HDFS 上的默认存储路径是/user/hive/warehouse/*.db.hive (default)> create data ...
- Hive:命令行界面、数据类型、DDL数据定义(数据库及表操作/分区分桶)、DML数据操作(数据导入导出)
目录 1.Hive命令行界面 1.1.选项列表 1.2.变量和属性 1.2.1.Hive中变量和属性命名空间 1.2.2.用户自定义变量 1.2.3..hiverc文件 1.3.一次使用的命令 1.4 ...
- 2019-7-26 [MySQL] 安装与介绍 语句分类/语法 数据类型 DDL数据定义:创建/查看/删除/使用 DML数据操作:增删改 主键约束 自动增长列 非空约束 默认值 Navicat
文章目录 0.知识回顾 1.数据库介绍 1.1 数据库概述 1.1.1 什么是数据库 1.1.2 什么是数据库管理系统 1.1.3 数据库与数据库管理系统的关系 1.2 数据库表 1.3 表数据 1. ...
- Hive之DDL数据操作
Hive之DDL数据操作 目录 数据导入 数据导出 清除表中数据 1. 数据导入 1. 向表中装载数据(Load) 语法 hive> load data [local] inpath '/opt ...
- 数据库DML数据操作语言
文章目录 DML 数据操作语言 1. 插入数据(INSERT) 1.1 语法: 1.2 插入默认值 注意事项: 1.3 全列插入 2. 修改数据(UPDATE) 2.1 语法 注意 2.2 修改指定记 ...
- 【数据库基础知识二】数据库DataBase(简称DB),数据库基本概念、DDL:数据定义语言,用来操作数据库对象、DML:数据操作语言,用来操作表中的数据
14天阅读挑战赛 目录 数据库基本概念 数据库DataBase(简称DB) 数据库管理系统Database management system(简称DBMS) 如何操作DBMS? 连接数据库的方式: ...
- MySQL基础篇——第11章 DML(数据操作):增删改
MySQL基础篇--第11章 DML(数据操作):增删改 1. 插入数据(增) INSERT INTO ... 使用 INSERT INTO 语句向表中插入数据(记录) 1.1 方式1:VALUES ...
- Hive加载数据操作
Hive加载数据操作 一.load data 语法结构: load data [local] inpath 'filepath' [overwrite] into table table_name [ ...
- MySQL→数据库、启动连接数据库、SQL→DDL数据定义语言及数据类型、DML数据操作语言、DQL数据查询语言、数据库约束→主键、唯一、非空、默认、外键、SQL、三大范式及一多关系、视图、内外连接
MySQL连接退出命令 mysql –uroot -proot mysql –h127.0.0.1 –uroot -proot mysql --host=localhost --user=root - ...
最新文章
- 如何开启PostGreSQL的远程访问端口?
- 2021年春季学期-信号与系统-第二次作业参考答案-第四小题
- Windows Mobile 开发工具和资源
- 构建根文件系统之启动第1个程序init
- 五矿期货携手神策数据,深耕数字化 5 大应用,加速金融科技创新增长
- 创意沙雕黑色蝙蝠侠/小丑动态404页面源码
- ICE专题:实战分布式的Hello Word 【原创】
- 【opencv】错误提示OpenCV Error: Assertion failed
- sqlmap详细使用教程
- 手把手教你学DSP:基于TMS320C55x
- SAS 9.4 无法正常卸载,手动彻底删除相关文件
- 开源ext2read代码走读之--“\\\\.\\PhysicalDrive0”意义?
- 【数据恢复案例】.[decrypt20@firemail.cc].eking新型变种勒索病毒
- linux虚拟摄像头 开源,(四) 虚拟摄像头vivi体验
- 迪赛智慧数——其他图表(平行坐标图):2001 VS 2020主要城市房价及涨幅
- JavaScript自动触发事件
- android listview 点击获取焦点,android – ListView项目焦点行为
- Couldn‘t checkout branch_name: Revision not found in project_name git 分支无法checkout,切换分支报错
- 【PC】完美解决 office2010 错误1920 未能启动服务 “Office Software Protection Platform”(osppsvc)
- 「每周译Go」Windows 系统的Gopher们久等了!!
热门文章
- 【OpenCV】OpenCV实战从入门到精通之 -- 指针访问、迭代器iterator、动态地址计算配合at元素
- 论文审稿意见太奇葩?NeurIPS 2021
- 带你自学Python系列(三):列表遍历(for循环)
- Kaggle—So Easy!百行代码实现排名Top 5%的图像分类比赛
- 快手通过标签添加的我_快手内容运营技巧:快手创作者如何蹭热点?快速上热门...
- oracle manager 配置,Oracle Net Manager 基本配置
- python 解三阶多项式系数_python – 评估多项式系数
- java socket 异步回调函数,分享nodejs异步编程基础之回调函数用法
- JS-面向对象-This的指向---简单的函数调用 / 作为对象的方法调用时 / 作为构造函数调用时
- Cookie、token、session的区别是什么?