DDL操作
Hive中的表如何与HDFS上文件中的数据产生映射关系?
在HDFS上创建映射文件
在node01上创建文件夹:mkdir hivedata
在hivedata中新建一个文件1.txt文件:
cd hivedata
vi 1.txt
在1.txt中编写如下数据

将1.txt文件上传到HDFS上的hivedata目录中
HDFS新建hivedata目录:hadoop fs -mkdir /hivedata
上传1.txt文件到hivedata目录:hadoop fs -put /root/hivedata/1.txt /hivedata

在Hive中创建映射表
在Hive的hello数据库中创建一张表
使用hello数据库:use hello;
创建t_user1表:create table t_user1(id int,name string,age int);

此时在HDFS上的/user/hive/warehouse路径下会生成一个hello.db的数据库,t_user1表在该文件夹下

建立表与文件的映射
操作:将HDFS上的1.txt文件赋值到t_user1表中去
命令:hadoop fs -cp /hivedata/1.txt /user/hive/warehouse/hello.db/t_user1
结果:在HDFS的t_user1文件夹下多出一个1.txt文件

在node02上查询表中数据,发现Hive感知到文件中的数据,但是数据没有解析出 来

原因

本文详细介绍了如何通过Hive的DDL操作建立HDFS上文件与Hive表之间的映射关系。从在HDFS创建映射文件开始,到在Hive中创建表并指定分隔符,再到处理不同数据类型如array和map,最后讨论了Hive的默认分隔符和SerDe的工作机制。
最低0.47元/天 解锁文章
4383

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



