天天看点

将本地文件导入 Hive 案例

将本地文件导入 Hive 案例

需求

将本地/opt/module/data/student.txt 这个目录下的数据导入到 hive 的

student(id int, name string)表中。

1 数据准备

在/opt/module/data 这个目录下准备数据

(1)在/opt/module/目录下创建 data

mkdir -p /opt/module/data      

(2)在/opt/module/data/目录下创建 student.txt 文件并添加数据

[dev1@hadoop102 data]$ touch student.txt 
[dev1@hadoop102 data]$ vi student.txt       

内容如下

1001 zhangshan
1002 lishi
1003 zhaoliu      

注意以 tab 键间隔。

2 Hive 实际操作

(1)启动hive

[dev1@hadoop102 hive]$ bin/hive      

(2)显示数据库

hive>show databases;      

(3)使用default 数据库

hive>use default;      

(4)显示default 数据库中的表

hive>show tables;      

(5)删除已创建的 student 表

hive> drop table student;      

(6)创建 student 表, 并声明文件分隔符’\t’

hive> create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';      
terminated
英[ˈtɜːmɪneɪtɪd]
美[ˈtɜːrmɪneɪtɪd]
v.    (使)停止,结束,终止; 到达终点站;      

(7)加载/opt/module/data/student.txt 文件到 student 数据库表中。

hive> load data local inpath '/opt/module/data/student.txt' into table student;      

(8)Hive 查询结果

hive> select * from student;      

3.遇到的问题

Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient