1、数据导入

1)向表中装载数据(load)

语法
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:表示覆盖表中已有数据,否则表示追加

(5)into table:表示加载到哪张表

(6)student:表示具体的表

(7)partition:表示上传到指定分区

实例操作

创建一张表

create table student(id string,name string)
row format delimited fields terminated by '\t';

(1)加载本地文件到hive

load data local inpath '/opt/student.txt' into table student;

(2)加载hdfs文件到hive

load data inpath '/user/hive/warehouse/stu.txt' into table student;

(3)加载数据覆盖表中已有的数据

load data inpath '/user/hive/warehouse/stu.txt' overwrite into table student;

2)通过查询语句向表中插入数据(insert)

创建一张分区表

create table student(id int, name string) partitioned by (month string) row format delimited fields terminated by '\t';

(1)基本插入

insert into table student partition(month='2019') values(1,"wang"),(2,"zhang");
insert  overwrite table stu partition(month='2019') select id,name from  student where month='2019';

insert into :以追加数据的方式插入到表或分区,原有数据不会删除

insert overwrite:会覆盖表或分区中已经存在的数据

insert 不支持插入部分字段

(2)多表(多分区)插入

from student
insert overwrite table student partition(month='201706')
select id,name where month='201706'
insert overwrite table student partition(month='201707')
select id,name where month='201707';

3)查询语句中创建表并加载数据(as select)

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

4)创建表时通过location指定加载数据路径

create external table if not exists student(
id int ,name string
)
row format delimited fields terminated by '\t'
location '/student';

5)Import数据到指定hive表中

先用export导出后,再将数据导入

import table stu partition(month='201901')
from
'/user/hive/warehouse/export/student';

2、数据导出

1)insert导出

(1)将查询的结果导出到本地(各列数据紧挨着,没有分隔符)

insert overwrite local directory '/opt/export/student' select * from student;

(2)将查询的结果格式化导出到本地

insert overwrite local directory '/opt/export/student' row format delimited fileds terminated by '\t' select * from student;

(3)将查询结果导出到hdfs上(没有local)

insert overwrite local directory '/user/hive/warehouse/export/student' row format delimited fileds terminated by '\t' select * from student;

2)hadoop命令导出到本地

dfs -get /user/hive/warehouse/student/month=201709/000000_0 /opt/module/datas/export/student.txt;

3)hive shell命令导出

hive -f/-e 执行语句或者脚本 > file

hive -e 'select * from student' > /opt/datas/student.txt;

4)export导出到hdfs上

export table student to  '/user/hive/warehouse/export/student';

export 和import主要用于两个hadoop平台集群之间hive表迁移

hive DML操作的更多相关文章

  1. hive DML 操作

    数据导入 向表中装载数据(Load) 1.语法 load data [local] inpath '数据的 path' [overwrite] into table student [partitio ...

  2. Hive DDL、DML操作

    • 一.DDL操作(数据定义语言)包括:Create.Alter.Show.Drop等. • create database- 创建新数据库 • alter database - 修改数据库 • dr ...

  3. 入门大数据---Hive常用DML操作

    Hive 常用DML操作 一.加载文件数据到表 1.1 语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename ...

  4. 23-hadoop-hive的DDL和DML操作

    跟mysql类似, hive也有 DDL, 和 DML操作 数据类型: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ ...

  5. Hive数据库操作

    Hive数据结构 除了基本数据类型(与java类似),hive支持三种集合类型 Hive集合类型数据 array.map.structs hive (default)> create table ...

  6. Vertica并发DML操作性能瓶颈的产生与优化(转)

    文章来源:中国联通网研院网优网管部IT技术研究团队 作者:陆昕 1. 引言 众所周知,MPP数据库以其分布式的超大存储能力以及列式的高速汇总能力,已经成为大数据分析比不可少的工具.Vertica就是这 ...

  7. salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)

    salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesforce中的数据库使用的是Force.com 平台的数据库,数据表一行数据可以理解成一个sObject变量 ...

  8. Sql Server之旅——第十站 看看DML操作对索引的影响

    我们都知道建索引是需要谨慎的,当只有利大于弊的时候才适合建,我们也知道建索引是需要维护成本的,这个维护也就在于DML操作了, 下面我们具体看看到底DML对索引都有哪些内幕.... 一:delete操作 ...

  9. spark使用Hive表操作

    spark Hive表操作 之前很长一段时间是通过hiveServer操作Hive表的,一旦hiveServer宕掉就无法进行操作. 比如说一个修改表分区的操作 一.使用HiveServer的方式 v ...

随机推荐

  1. 安装了vs2019 编译node-sass node-gyp 找不到编译器的解决方法

    1 新建powershell脚本文件 <# This is a workaround for "node-gyp is unable to find msbuild if VS2019 ...

  2. Linux shell 批量验证端口连通性

    工作中会遇到验证到某某服务器端口是否连通,如果IP或端口多时,用shell还是很省时省力的,看下面的脚本: #!/bin/bash # #database check #set -o nounset ...

  3. NOIP模拟赛(by hzwer) T1 小奇挖矿

    [题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值 w)的飞船,按既定 路线依次飞过喵星系的 n 个星球. [问题描述] 星球分为 2 类:资源型和维修型. 1. 资源型:含矿物质量 ...

  4. shimo

    shimo破解需要同意安装允许各个端安装

  5. synchronized 与 lock 的区别

    synchronized 和 lock 的用法区别 synchronized(隐式锁):在需要同步的对象中加入此控制,synchronized 可以加在方法上,也可以加在特定代码块中,括号中表示需要锁 ...

  6. HTTP教程

    适合人群 本教程已为计算机学科毕业生和Web开发人员准备,帮助他们了解与超文本传输​​协议(HTTP)相关的基本到高级概念. 预备知识 在继续本教程之前,最好对Web概念,Web浏览器,Web服务器, ...

  7. linux运维、架构之路-实时同步方案

    一.inotify+rsync实时同步 1.介绍         inotify-tools是一种强大的.细粒度的.异步的文件系统事件监控机制,可以用来监控文件系统的事件.inotify-tools是 ...

  8. 【bzoj1176】[Balkan2007]Mokia

    题目描述: 维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数Q<=10000,W<=2000000. 输 ...

  9. 【Java】JavaMail使用网易企业邮箱发邮件

    邮件发送器 /** * 邮件发送器 * * @author Zebe */ public class MailSender implements Runnable { /** * 收件人 */ pri ...

  10. JS onclick中this用法

    当在dom元素中使用onclick绑定事件的时候,可以使用this来指向该元素对象. 打印输出的内容为: 所以可以通过该this对象来获取子元素 //通过element获取该对象下的一个audio标签 ...