原文地址:http://blog.csdn.net/shekey92/article/details/47661051,转载请注明地址。
创建一个外部表:
使用'|'作为分隔符,‘\n’回车作为换行符,指定数据仓库地址
hive> CREATE EXTERNAL TABLE rdcuser (
> id int,
> name string,
> password string
> )
> row format delimited fields terminated by '|'
> LINES TERMINATED BY '\n'
> stored as textfile
> location '/linyu/hivetest/';
OK
Time taken: 0.651 seconds
Hive每创建一个表都会在hive.metastore.warehouse.dir指向的目录下以表名创建一个文件夹,所有属于这个表的数据都存放在这个文件夹里面。如果不指定仓库地址,Hive每创建一个表都会在hive.metastore.warehouse.dir指向的目录下以表名创建一个文件夹,所有属于这个表的数据都存放在这个文件夹里面。
可以切换到mysql查看该表的仓库地址:
mysql> use hivemeta; //hive在mysql的元数据库
mysql> select * from tbls;
+--------+-------------+-------+------------------+-------+-----------+-------+----------+
| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER | RETENTION | SD_ID | TBL_NAME |
+--------+-------------+-------+------------------+-------+-----------+-------+----------+
| 11 | 1439456346 | 1 | 0 | root | 0 | 11 | rdcuser |
+--------+-------------+-------+------------------+-------+-----------+-------+----------+
mysql> select * from sds;
+-------+------------------------------------------+--