HiveSQL和普通SQL的区别
总结如下,
- HiveSQL对分号识别不是很智能,只要出现分号就认为是语句结尾。
- HiveSQL不支持等值连接,即不支持where a.id = b.id的连接方式,HiveSQL使用join连接。
- HiveSQL中没有not null,当字段为null时,使用Empty空值代替。即长度为0, 那么对它进行IS NULL的判断结果是False。
- HiveSQL不支持将数据插入现有的表或分区,仅支持覆盖重写整张表。即不支持insert into,而需要使用insert overwrite,覆盖重写整个表。
- HiveSQL不支持行级别的增、改、删,所有数据在加载时就已经确定,不可更改。
- HiveSQL不支持事务。
- HiveSQL支持分区存储。
- HiveSQL落地到hdfs,MySQL落地到磁盘。