HQL(Hive SQL)DML之数据导入导出知识汇总

本文汇总了Hive SQL(HQL)的数据导入导出操作,包括通过`load data`加载数据、使用`insert`语句插入数据、创建表时指定`location`加载数据、使用`import`导入数据,以及`insert`导出、`hadoop`命令、`hive shell`命令导出数据等方法。详细讲解了每种操作的语法和实际案例。

HQL(Hive SQL)DML之数据导入导出知识汇总

1. 背景

  1. 作为一个将sql转换为mapreduce的转换器,其操作语言HQL必然会划分DDL和DML
  2. Hive的sql和传统数据库的sql不一样,hive主要用于数据仓库分析工具,也就是常说的数据一次导入,多次查询和分析。
  3. 所以数据导入和导出属于重点设计和关注点。
  4. 关于Hive的博客会是一个系列,考虑到数据查询的重要性,后面会专文说明。本文只讲述关于数据导入和导出的操作。

2. 数据导入

2.1 向表中加载数据

  1. 语法
load data [local] inpath 'path' overwrite | into table tb_test1 [partition(month string)];

1.load data:表示加载数据
2.local:表示从本地加载数据到hive表;否则从HDFS加载数据到hive表。 不加local,默认就是hdfs,因为hive的数据默认就是存储在hdfs中的。
3. inpath:表示加载数据的路径
4. overwrite:表示覆盖表中已有数据,否则表示追加。一般数据都是追加,覆盖场景较少。但如果需要覆盖,一定注意数据是否需要保存。
5. into table:表示加载到哪张表
6. tb_test:表示具体的表
7. partition:表示上传到指定分区,注意分区字段不能和表中字段重叠

  1. 实际案例
    一般性建表和加载数据
  • 建表
 create table tb_student(
 id string, 
 name string
 )
 row format delimited fields terminated by '\t';
  • 加载数据
load data local inpath '/root/doit/table_src.txt' into table tb_student;

建表和加载hdfs中数据

  • 加载linux文件到hdfs中
dfs -put /root/doit/table_src.txt /user/doit/hive
  • 加载上传到hdfs的文
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值