hive基础入门------建(外)内表导入数据

 连接hive beeline

beeline -u "jdbc:hive2://localhost:10000/default"

查看数据库下的表 

show tables;

hive基础入门------建(外)内表导入数据_第1张图片

查询数据库

show databases;

hive基础入门------建(外)内表导入数据_第2张图片

新建一个数据库

 create database myhive2

再次查询

show databases;

 使用此数据库

hive基础入门------建(外)内表导入数据_第3张图片

use myhive2;

执行如下命令

CREATE TABLE IF NOT EXISTS employee_external ( 
 name string,
 work_place ARRAY,
 sex_age STRUCT,
 skills_score MAP,
 depart_title MAP>
)
COMMENT 'This is an external table'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':'
STORED AS TEXTFILE

之后我们查看一下表

select * from employee_internal;

hive基础入门------建(外)内表导入数据_第4张图片

下面我们导入数据查看具体变化 

文件地址

https://gitee.com/shuijin666/hive_basic_introductory_data.git

下载 employee.txt

然后put到

hive基础入门------建(外)内表导入数据_第5张图片

此路径下刷新之后见上图

select * from employee_internal;

之后效果图如下

 

 hive基础入门------建(外)内表导入数据_第6张图片

结束,

外部表创建方式:

CREATE EXTERNAL TABLE IF NOT EXISTS employee_external ( 
 name string,
 work_place ARRAY,
 sex_age STRUCT,
 skills_score MAP,
 depart_title MAP>
)
COMMENT 'This is an external table'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':'
STORED AS TEXTFILE
LOCATION '/user/dayongd/employee';

 注意第一行的external外部表标识,还有最下面的location指明你要放置的路径

所以put的时候放到外部表路径下即可

内部表和外部表的区别除了上述还有在删除的时候,内部表的数据会都删除,外部表你的location下的不会被删除,当然你可以用hdfs dfs -cat去查看里面的内容,除此之外还有临时表

你可能感兴趣的:(大数据的点点滴滴)