hive 数据加载的几种方式 和数据导出方式
2018-02-08 00:44
483 查看
===== hive 数据加载方式
LOAD DATA [LOCAL] INPATH 'filepath'
[OVERWRITE] INTO TABLE tablename
[PARTITION (partcol1=val1, partcol2=val2 ...)]
load data [local] inpath 'filepath' [overwrite] into table tablename [partition (partcol1=val1,...)];
* 原始文件存储的位置
* 本地 local
* hdfs
* 对表的数据是否覆盖
* 覆盖 overwrite
* 追加
* 分区表加载,特殊性
partition (partcol1=val1,...)
1)加载本地文件到hive表
load data local inpath '/home/hadoop/data/emp.txt' into table emp ;
2)加载hdfs文件到hive中
load data inpath '/data/emp.txt' overwrite into table emp1 ;
3)加载数据覆盖表中已有的数据
load data inpath '/data/emp.txt' into table emp ;
4)创建表是通过insert加载
create table emp_tmp like emp ;
insert into table emp_tmp select * from emp ;
5)创建表的时候通过location指定加载(参考外部表)
=== hive 数据导出方式===
1、insert方式
格式:insert overwrite directory 'path' select sql;
本地:
示例:insert overwrite local directory '/home/hadoop/data/emp_insert' select * from emp;
4096 Mar 19 15:08 emp_in01
4096 Mar 19 15:09 emp_in01
指定分隔符:
insert overwrite local directory '/home/hadoop/data/emp_insert' row format delimited fields terminated by '\t' select * from emp;
hive -e "select * from emp ;" > /home/hadoop/data/exp_res.txt
HDFS:
insert overwrite directory '/data/emp_insert' select * from emp;
2、bin/hdfs dfs -get从HDFS获取数据到本地
3 sqoop以及spark SQL
HDFS <- sqoop -> RDBMS
export
export table tb_name to 'HDFS_path'
hive (default)> export table emp to '/data/emp_exp';
hive (default)> export table dept to '/data/emp_dept ;
hive (default)> dfs -ls /data/emp_exp;
Found 2 items
-rwxr-xr-x 1 hadoop supergroup 1540 2018-02-08 00:38 /data/emp_exp/_metadata
drwxr-xr-x - hadoop supergroup 0 2018-02-08 00:38 /data/emp_exp/data
hive (default)> dfs -ls /data/dept_exp;
Found 2 items
-rwxr-xr-x 1 hadoop supergroup 1274 2018-02-08 00:39 /data/dept_exp/_metadata
drwxr-xr-x - hadoop supergroup 0 2018-02-08 00:39 /data/dept_exp/data
import
export table tb_name from 'HDFS_path'
create table emp_tmp2 like emp;
hive (default)> import table emp_tmp2 from '/data/emp_exp';
Copying data from hdfs://node1.oracle.com:8020/data/emp_exp/data
Copying file: hdfs://node1.oracle.com:8020/data/emp_exp/data/emp.txt
Loading data to table default.emp_tmp2
OK
Time taken: 14.546 seconds
LOAD DATA [LOCAL] INPATH 'filepath'
[OVERWRITE] INTO TABLE tablename
[PARTITION (partcol1=val1, partcol2=val2 ...)]
load data [local] inpath 'filepath' [overwrite] into table tablename [partition (partcol1=val1,...)];
* 原始文件存储的位置
* 本地 local
* hdfs
* 对表的数据是否覆盖
* 覆盖 overwrite
* 追加
* 分区表加载,特殊性
partition (partcol1=val1,...)
1)加载本地文件到hive表
load data local inpath '/home/hadoop/data/emp.txt' into table emp ;
2)加载hdfs文件到hive中
load data inpath '/data/emp.txt' overwrite into table emp1 ;
3)加载数据覆盖表中已有的数据
load data inpath '/data/emp.txt' into table emp ;
4)创建表是通过insert加载
create table emp_tmp like emp ;
insert into table emp_tmp select * from emp ;
5)创建表的时候通过location指定加载(参考外部表)
=== hive 数据导出方式===
1、insert方式
格式:insert overwrite directory 'path' select sql;
本地:
示例:insert overwrite local directory '/home/hadoop/data/emp_insert' select * from emp;
4096 Mar 19 15:08 emp_in01
4096 Mar 19 15:09 emp_in01
指定分隔符:
insert overwrite local directory '/home/hadoop/data/emp_insert' row format delimited fields terminated by '\t' select * from emp;
hive -e "select * from emp ;" > /home/hadoop/data/exp_res.txt
HDFS:
insert overwrite directory '/data/emp_insert' select * from emp;
2、bin/hdfs dfs -get从HDFS获取数据到本地
3 sqoop以及spark SQL
HDFS <- sqoop -> RDBMS
export
export table tb_name to 'HDFS_path'
hive (default)> export table emp to '/data/emp_exp';
hive (default)> export table dept to '/data/emp_dept ;
hive (default)> dfs -ls /data/emp_exp;
Found 2 items
-rwxr-xr-x 1 hadoop supergroup 1540 2018-02-08 00:38 /data/emp_exp/_metadata
drwxr-xr-x - hadoop supergroup 0 2018-02-08 00:38 /data/emp_exp/data
hive (default)> dfs -ls /data/dept_exp;
Found 2 items
-rwxr-xr-x 1 hadoop supergroup 1274 2018-02-08 00:39 /data/dept_exp/_metadata
drwxr-xr-x - hadoop supergroup 0 2018-02-08 00:39 /data/dept_exp/data
import
export table tb_name from 'HDFS_path'
create table emp_tmp2 like emp;
hive (default)> import table emp_tmp2 from '/data/emp_exp';
Copying data from hdfs://node1.oracle.com:8020/data/emp_exp/data
Copying file: hdfs://node1.oracle.com:8020/data/emp_exp/data/emp.txt
Loading data to table default.emp_tmp2
OK
Time taken: 14.546 seconds
相关文章推荐
- Hive几种数据导出方式
- hive中数据的几种加载方式
- Hive几种数据导出方式
- Hive几种导出数据方式
- Hive基础(3):表分类、视图、数据加载方式、数据的导出、本地模式
- Hive几种导出数据方式
- hive导出数据的几种方式
- Hive几种数据导出方式
- Hive几种数据导出方式
- 03-Hive数据加载的几种方式
- hive学习 —Hive几种导出数据方式
- Hive几种数据导出方式
- Hive几种数据导出方式
- Hive数据导入导出的几种方式
- Hive几种数据导出方式
- Hive基础(3):表分类、视图、数据加载方式、数据的导出、本地模式
- hive学习总结(2)—Hive几种导出数据方式
- Hive几种数据导出方式
- Hive几种数据导出方式
- Hive几种数据导出方式