快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

hive中使用sql语句需要注意什么问题

这篇文章主要讲解了“ hive中使用sql语句需要注意什么问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ hive中使用sql语句需要注意什么问题”吧!

创新互联建站专注于木垒哈萨克企业网站建设,成都响应式网站建设公司,商城网站定制开发。木垒哈萨克网站建设公司,为木垒哈萨克等地区提供建站服务。全流程按需设计网站,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

最近在熟悉hive,使用hive中的sql语句过程中出现了一些问题。

1,hive中的insert into语句

hive> select * from t_hive2;
OK
16	2	3
61	12	13
41	2	31
17	21	3
71	2	31
1	12	34
11	2	34
Time taken: 0.218 seconds
hive> insert into t_hive2 values(122,34,2);
FAILED: Parse Error: line 1:12 mismatched input 't_hive2' expecting TABLE near 'into' in insert clause


从上面可以看出,hive是不支持insert into 语句的

2,不支持Date和DateTime类型

hive> alter table t_hive2 add columns (time_show Date);
FAILED: Error in semantic analysis: DATE and DATETIME types aren't supported yet. Please use TIMESTAMP instead


3,hive的表分为外部表和内部表

Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。
在删除表的时候,内部表的元数据和数据会被一起删除, 而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。

4,hive中两个表链接时和以前有些不同

hive> select *     
    > from t_hive,t_hive2
    > where t_hive.a=t_hive2.b;
FAILED: Parse Error: line 2:11 mismatched input ',' expecting EOF near 't_hive'

5, 内置函数查看命令(show functions;desc function 函数名)
 

hive> desc function when;
OK
There is no documentation for function 'when'
Time taken: 0.095 seconds
hive> desc function rand;
OK
rand([seed]) - Returns a pseudorandom number between 0 and 1
Time taken: 0.078 seconds

6,hive中不支持truncate table 表名的形式存在(也包括 delete from 表名),可通过 hive>dfs -rmr /user/hive/warehouse/表名来清空该表下的数据,以便保持表元数据信息不丢失;或者通过create table 表名 like 表名,也可以。

hive> truncate table t_hive;
FAILED: Parse Error: line 1:0 cannot recognize input near 'truncate' 'table' 't_hive'

hive> delete from table t_hive;
Usage: delete [FILE|JAR|ARCHIVE]  []*

7,hive中不支持 in (子查询语句),比如: in (select id from 表名) .可以通过内连接或者 半连接 from 表1 left  semi join 表2 on (表1.列名 = 表2.列名),表2只能在on中出现,不能在select中引用

8,hive中在不需要全局排序的情况下,写排序语句时,最好用distribute by 表名.字段名 sort by 表名.字段名 asc | desc 的形式,尽量不用order by形式(只通过一个reduce来完成所有的排序结果)

感谢各位的阅读,以上就是“ hive中使用sql语句需要注意什么问题”的内容了,经过本文的学习后,相信大家对 hive中使用sql语句需要注意什么问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网站标题:hive中使用sql语句需要注意什么问题
网页路径:http://6mz.cn/article/gigecs.html

其他资讯