HQL(Hive SQL)DML之数据导入导出知识汇总
1. 背景
- 作为一个将sql转换为mapreduce的转换器,其操作语言HQL必然会划分DDL和DML
- Hive的sql和传统数据库的sql不一样,hive主要用于数据仓库分析工具,也就是常说的数据一次导入,多次查询和分析。
- 所以数据导入和导出属于重点设计和关注点。
- 关于Hive的博客会是一个系列,考虑到数据查询的重要性,后面会专文说明。本文只讲述关于数据导入和导出的操作。
2. 数据导入
2.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:表示上传到指定分区,注意分区字段不能和表中字段重叠
- 实际案例
一般性建表和加载数据
- 建表
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的文

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

被折叠的 条评论
为什么被折叠?



