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感知到文件中的数据,但是数据没有解析出 来
原因