hive中常用的关键字

like和as

hive中的like关键字允许复制一个已经存在的表的结构(只复制表的结构,不复制表中的数据),可以快速建表。

create  table  person1  like  person;

hive中的as关可以创建一个以查询语句结果为数据内容的数据表,并且只要查询语句的结果不为空,创建好数据表后,数据表中就有数据。

create  table  person2  as  select * from person where sex = "男"create  table  person2  as  select ip,name  from person where sex = "男"

load关键字

hive中的load关键字时用来将文件加载到hive数据表中的,如果文件在Linux系统中(本地加载),使用load加载该文件时,会将该文件复制一份到hadoop中(默认路径为"/user/hive/warehouse/数据库名.db/表名"),如果文件在hadoop文件系统中,使用load加载该文件时,会将文件转移到"/user/hive/warehouse/数据库名.db/表名"中。

--本地加载,数据没有存储在HDFS集群中
hive>load data local inpath '文件路径'  into table '表名'
--HDFS中加载,数据已经存储在HDFS集群中
hive>load data  inpath '文件路径'  into table '表名'

注:'文件路径’必须为绝对路径,并且该语句只能在hive的交互式窗口中使用

hive中的local关键字

hive中的local关键字表示指明将文件从本地(hive运行的那台机器,如果开启的是hive服务,则本地为开启hive服务的那台机器,hive服务客户端(即:编写命令的那台机器)不是本地)中加载到hive中。

hive中的overwrite关键字

hive中的overwrite关键字表示在加载数据时,如果加载了同名的文件时,将原先的文件覆盖掉,如果不写此参数,表示会将同名的文件以备份的方式追加载到hive数据表中,原先的文件会保留。

hive>load   data  local  inpath  '/datahive/b.txt' overwrite into  table  student;

注:此关键字要慎重使用,最好是不用使用;因为操作失误,会导致数据丢失。

猜你喜欢

转载自blog.csdn.net/weixin_38613375/article/details/89078051