0
点赞
收藏
分享

微信扫一扫

将本地文件导入 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.遇到的问题

再打开一个客户端窗口启动 hive,会产生 java.sql.SQLException 异常。

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

原因是,Metastore默认存储在自带的derby数据库中(只支持一个链接),推荐使用MySQL存储Metastore;


举报

相关推荐

0 条评论