1、问题背景
下面的hive sql语句实现了什么功能?
alter table test1 location '/xxx/xxx/xxx/file.txt'
修改表?创建表?修改文件?hive中表与文件是什么关系?
不要被alter table这个名称所误导,在hive中,表与文件是存在映射关系的,也就是说,刚开始我们创建表的时候,表里面并不会存在任何数据,只是我们通过location将表与文件进行映射关联起来后才有数据;
2、Hive表与内部数据的映射关系
-
在练习Hive之前,先创建一个文件夹来存放Hive的练习数据。
命令:cd /export/data/ ,然后创建对应文件夹: mkdir hivedata
-
进入hivedata文件夹,创建一个名为1.txt 的文件,将如下数据复制进去。
1,allen,18
2,jack,28
3,rose,20
4,lucy,10
- 然后将文件上传值HDFS
现在HDFS上创建一个文件夹来保存数据,命令:hadoop fs -mkdir /hivedata
然后将1.txt上传至刚刚创建的文件夹,命令:hadoop fs -put 1.txt /hivedata
4. 使用node-3远程连接上Hive
这里不多说。
- 查看当前数据库
命令:show databases;
-
创建一个练习用的数据库:pttest
命令:create database pttest;