一.数据导入

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 数据导入导出】的更多相关文章

  1. Hive四种数据导入方式介绍

    问题导读 1.从本地文件系统中通过什么命令可导入数据到Hive表? 2.什么是动态分区插入? 3.该如何实现动态分区插入? 扩展: 这里可以和Hive中的三种不同的数据导出方式介绍进行对比? Hive ...

  2. 【hive】——Hive四种数据导入方式

    Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在 ...

  3. Hive总结(七)Hive四种数据导入方式

  4. Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)

    Hive总结(七)Hive四种数据导入方式 (强烈建议去看) Hive几种数据导出方式 https://www.iteblog.com/archives/955 (强烈建议去看) 把MySQL里的数据 ...

  5. 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上

    阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...

  6. Hive 实战(1)--hive数据导入/导出基础

    前沿: Hive也采用类SQL的语法, 但其作为数据仓库, 与面向OLTP的传统关系型数据库(Mysql/Oracle)有着天然的差别. 它用于离线的数据计算分析, 而不追求高并发/低延时的应用场景. ...

  7. Hive常用操作之数据导入导出

    一.Hive数据导入导出 1.hive数据导出 很多时候,我们在hive中执行select语句,希望将最终的结果保存到本地文件或者保存到hdfs系统中或者保存到一个新的表中,hive提供了方便的关键词 ...

  8. 数据仓库Hive数据导入导出

    Hive库数据导入导出 1.新建表data hive (ebank)> create table data(id int,name string) > ROW FORMAT DELIMIT ...

  9. 如何利用sqoop将hive数据导入导出数据到mysql

    运行环境  centos 5.6   hadoop  hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...

随机推荐

  1. CSS 盒子的边距塌陷

    tip:为能更直观地学习,本文章已省略部分 css 样式代码. 我相信下面的情形大家在日常工作中常常碰到:在制作静态页面中,为了页面整体的协调与美观,我们想让子盒子 image-div 的上边沿距离父 ...

  2. oracle 架构和一些工具了解

    oracle的架构大概分为3部分, 客户端:用户端 oracle instance:叫做实例,由内存结构(内存池或者叫SGA)和后台进程组成.Oracle Instance是Oracle RDBMS的 ...

  3. SpringBoot整合reids之JSON序列化文件夹操作

    前言 最近在开发项目,用到了redis作为缓存,来提高系统访问速度和缓解系统压力,提高用户响应和访问速度,这里遇到几个问题做一下总结和整理 快速配置 SpringBoot整合redis有专门的场景启动 ...

  4. 使用ssh连接到centos7中docker容器

    任务: 使用ssh连接到centos7中docker容器 实验步骤: 实验环境搭建,详情请看上一篇. 因为docker中容器的ip通常来说是和真机以及centos7的ip不属于一个网段,因此直接访问是 ...

  5. Centos7+Postfix+Dovecot实现内网邮件收发

    1. 前期准备: 主机:CentOS release 7.6.1810 (Core)     #安装时选择邮件服务器 IP:192.168.71.108   #示例 本地yum源 #因为是内网,所以建 ...

  6. mysqld:未被识别的服务(解决方法)

    启动Mysql:sudo service mysqld start 执行该命令时,提示错误   mysqld:未被识别的服务,如图 解决办法如下: 1·.首先要找到 mysql.server 文件 命 ...

  7. 「期末」一文带你系统回顾C 语言

    超详细 c 语言回顾 前言 c 语言是一种底层语言,是一种系统底层级的语言,例如Windows.Linux.Unix等操作系统就是使用c语言编写的.所以由此看来,不论是火爆了25年的Java,还是近年 ...

  8. 容器安全产品Aqua调研

    前言 近年来,随着云计算的发展,企业数字化的进程不断加快,业务纷纷开始上云,云原生的概念最近两年也是十分火热,在新业务场景下也随之产生了新的安全问题,如k8s安全.devsecops.微服务安全.Se ...

  9. Unity Ioc 类型初始值设定项引发异常,The type name or alias SqlServer could not be resolved. Please check your configuration file and verify this type name.

    先看一下unity的配置信息 <unity> <typeAliases> <typeAlias alias="IDatabase" type=&quo ...

  10. [at4631]Jewels

    如果要选某颜色,必然会选该颜色最大的两个,那么不妨将这两个宝石权值修改为两者的平均数,显然不影响两者的和,也即不影响答案 接下来,将所有宝石按权值从大到小排序,并在权值相同时按颜色编号从小到大(使颜色 ...