一.数据导入

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. (转载)gcc -l参数和-L参数

    -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so ...

  2. eclipse配置Tomcat和Tomcat出现无效端口解决办法

    一.eclipse配置Tomcat 1. 按图选择window-preferences 2在server处选择runtime environment . 3.点击右侧add,选择自己的Tomcat版本 ...

  3. 精心整理Java微服务最全面试题集(含答案)

    微服务架构相关 大型网站架构演变过程 网站架构演变演变过程 传统架构 → 分布式架构 → SOA架构 → 微服务架构 什么是分布式架构 分布式架构就是将传统结构按照模块进行拆分,不同的人负责不同的模块 ...

  4. k8s入坑之路(10)kubernetes coredns详解

    概述 作为服务发现机制的基本功能,在集群内需要能够通过服务名对服务进行访问,那么就需要一个集群范围内的DNS服务来完成从服务名到ClusterIP的解析. DNS服务在kubernetes中经历了三个 ...

  5. 9组-Alpha冲刺-1/6

    一.基本情况 队名:不行就摆了吧 组长博客:https://www.cnblogs.com/Microsoft-hc/p/15526668.html 小组人数: 8 二.冲刺概况汇报 谢小龙 过去两天 ...

  6. 【Rancher相关问题】Rancher 2.5.8 及以下版本,提示Alert: Component controller-manager,scheduler is unhealthy.

    问题描述 如图,Rancher2.5.8版本提示 controller-manager,scheduler 不健康,管理的k8s集群版本1.21.1 解决方法 在Master节点执行如下命令: sed ...

  7. set比较大小

    #include <iostream> using namespace std; #include <set> class Person{ public: Person(str ...

  8. mabatis的sql标签

    定义:mapper.xml映射文件中定义了操作数据库的sql,并且提供了各种标签方法实现动态拼接sql.每个sql是一个statement,映射文件是mybatis的核心. 一,内容标签 1.Name ...

  9. uniapp增加自定义埋点功能

    起因 首先来说,uniapp其实是自带系统埋点统计功能的.基本也算是面面俱到. 但是一些未知原因,貌似数据有所丢失,再加上没有一些重要的定制化功能,以及最重要的数据安全方面的考虑,还是决定接入公司的埋 ...

  10. 【POJ3349 Snowflake Snow Snowflakes】【Hash表】

    最近在对照省选知识点自己的技能树 今天是Hash 题面 大概是给定有n个6元序列 定义两个序列相等 当两个序列各自从某一个元素开始顺时针或者逆时针旋转排列能得到两个相同的序列 求这n个6元序列中是否有 ...