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. zookeeper之三 ZKClient客户端的使用

    ZKClient在原生API接口上进行了包装,同时在内部实现了诸如session超时重连.watcher反复注册等功能,使得zookeeper客户端繁琐的细节对开发人员透明.下面将从以下几个方面来使用 ...

  2. Oracle 9i,10g,11g各自alert日志的位置

    10g&9i的alert日志: 进入oracle:[zhangshengdong@oralocal1 ~]$ sudo su - oracle[oracle@oralocal1 ~]$ sql ...

  3. Django【第17篇】:Django之信号

    django中的信号 Django中的信号及其用法 Django中提供了"信号调度",用于在框架执行操作时解耦. 一些动作发生的时候,系统会根据信号定义的函数执行相应的操作 Dja ...

  4. LOJ6358 前夕

    上来4的倍数又要交集恰好 单位根反演+二项式反演定了( 具体推柿子放下面了qwq $g(n) = \sum_{i=n}^N f(i) \binom{i}{n} \\g(n) = \binom{N}{n ...

  5. 设计模式Design Pattern(2)--单例模式

    单例顾名思义就是一个实例.类只有唯一一个实例,并提供给全局使用.解决了全局使用的类频繁地创建与销毁带了的消耗. 单例模式常用简单,但细究却又不简单,且往下看. 单例模式又可以分为 (1)懒汉式:需要使 ...

  6. Arduino-一些函数

    随机函数: int x=random();  //返回一个整型随机数 int x=random(10);  //返回一个 [0,10) 整型随机数 int x=random(1,8);  //返回一个 ...

  7. React Native 之react-native-sqlite-storage

    npm 官网指导: https://www.npmjs.com/package/react-native-sqlite-storage 1. 执行: npm install react-native- ...

  8. SpringCloud 教程 (六)断路器聚合监控(Hystrix Turbine)

    一.Hystrix Turbine简介 看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看这个系统的Hystrix Dashboard数据就需要用到Hystrix Turbi ...

  9. CG-CTF | 上传绕过

    最近一直在做算法题,头都要大了,今天悄咪咪来一个web换换脑子,一发flag敲开♥[虽然知道这是个水题ε=ε=ε=┏(゜ロ゜;)┛]

  10. Splinter 的认识和基础应用

    Splinter 是一个使用Python开发的开源web应用测试程序,它可以帮助我们实现自动浏览站点和与其进行交互.它是依赖于其它python插件或拓展进行的,所以我们使用它之前需要安装一系列的依赖包 ...