hive创建表

1年前 (2020-02-20) 411次浏览 已收录 4个评论

一、内部表的创建

create table pname(
    id int,
    name string,
    likes array<string>,
    address map<string,string>
)
row format delimited
fields terminated by ',' //属性分割
collection items terminated by '-' //集合分割
map keys terminated by ':' //map分割
lines terminated by '\n';   //行分割

原数据

1,小明1,play-book-movie,henan:zhengzhou-henan:inzheng
1,小明11,play-book-movie,henan:zhengzhou-henan:inzheng
1,小明21,play-movie,henan:zhengzhou-henan:inzheng
1,小明31,play-book-movie,henan:zhengzhou-henan:inzheng
1,小明14,play-book,henan:zhengzhou-henan:inzheng
1,小明51,play-book-movie,henan:zhengzhou-henan:inzheng

加载数据到hive

load data local inpath '/root/f' into table fname;

没有local就是从hdfs上读取


二、外部表的创建

create external table pname2(
    id int,
    name string,
    likes array<string>,
    address map<string,string>
)
row format delimited
fields terminated by ','
collection items terminated by '-'
map keys terminated by ':'
lines terminated by '\n'
location '/usr/';

外部表与内部表的区别

  • 创建时需要指定目录
  • 删除时内部表会将表结构和元数据全部删除;外部表只删除表结构,不删除元数据
使用desc formatted pname2 查看表结构

另一种插入数据

from pname
insert overwrite table pname7
select id,name,likes
insert overwrite table pname8
select id,name;

作用:

  • 复制表
  • 可以做中间表存在

 

hive 参数设置方式

1、修改配置文件 ${HIVE_HOME}/conf/hive-site.xml

2、启动hive cli时,通过–hiveconf key=value的方式进行设置

例:hive –hiveconf hive.cli.print.header=true

3、进入cli之后,通过使用set命令设置


hive set命令

在hive CLI控制台可以通过set对hive中的参数进行查询、设置

set设置:

set hive.cli.print.header=true;

set查看

set hive.cli.print.header

hive参数初始化配置

当前用户家目录下的.hiverc文件

如:   ~/.hiverc

如果没有,可直接创建该文件,将需要设置的参数写到该文件中,hive启动运行时,会加载改文件中的配置。

hive历史操作命令集

~/.hivehistory


渣渣龙, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:hive创建表
喜欢 (0)

您必须 登录 才能发表评论!

(4)个小伙伴在吐槽
  1. 以后多发点哦
    2020-03-27 13:15
  2. 奥利给
    2020-03-28 16:56
  3. 以后多发点哦
    2020-03-28 17:47
  4. 不错
    2020-05-26 09:25