Hive 分区表 & 数据加载

1. Hive表数据的导入方式

1.1 本地上传至hdfs

命令:

hdfs dfs -put [文件名] [hdfs绝对路径]

例如:测试文件 test_001.txt 内容如下

Hive 分区表 & 数据加载_第1张图片

在 hdfs 绝对路径:/user/hive/warehouse/mytest.db/ 下有一张表 test_001,建表语句如下:

create table test_001(id string, name string) row format delimited fields terminated by '\t';

使用如下命令将 test_001.txt 的内容上传至 /user/hive/warehouse/mytest.db/test_001 表中

hdfs dfs -put test_001.txt /user/hive/warehouse/mytest.db/test_001

注意:

test_001.txt 文件内容中:数据类型、数据列数、列数之间的分隔符要与 hdfs 中 test_001 表定义的一一对应。

1.2 本地导入

命令:

load data local inpath [本地文件路径] into table [表名];

示例:

load data local inpath '/user/xiaomin.liu/hive_testdata/student.csv' into table student;

含义:

将 /user/xiaomin.liu/hive_testdata 目录下 student.csv 文件的内容加载至 hdfs 中的 student 表中。

注意:

1. student.csv 文件内容中:数据类型、数据列数、列数之间的分隔符要与 hdfs 中 student 表定义的一一对应。

2. 使用本地导入的方式加载数据至 hive,使用的是复制操作,即当本地路径下的文件被加载至 hive 后,该本地路径下的文件依然存在,不会消失。

1.3 hdfs导入

命令:

load data inpath [文件在hdfs中的路径] into table [表名];

示例:

load data inpath '/user/warehouse/test/student.txt' into table student;

含义:

将 hdfs 路径为 /user/warehouse/test 下的 student.txt 文件的数据加载至 hdfs 中的 student 表中。

注意:

使用 hdfs 导入数据至 hive,使用的是剪切操作,即原 hdfs

你可能感兴趣的:(大数据测试,hive,hadoop,hdfs)