【数据】Hive和SQL的区别

Hive和SQL基本上是一样的,因为当初设计的目的就是让会SQL但是不会编程MapReduce的也会使用Hadoop进行处理数据。因此可以大胆的使用SQL,如果遇到不对的,再查。

区别:

  1. hive不支持等值连接,可以使用Join。。on
  2. 分号字符。尽管hive和SQL中封号都表示结束标志,但是在hive中并没有那么智慧的识别。eg:select concat(key,concat(';',key)) from dual;在Hive中没法识别,我们可以通过八进制的ASCII进行转译。select concat(key,concat('\073',key)) from dual;
  3. is null:在SQL中null代表空值,但是在hive中string类型的字段如果是空,即长度为0,那么对它进行isnull判断结果是False
  4. hive不支持将数据插入现有的表或者分区中。仅支持覆盖重写整个表。
  5. hive不支持insert update delete操作。
  6. hive支持嵌入mapreduce程序,来处理复杂的逻辑
  7. hive支持将转换后的数据直接写入不同的表,还能写入分区、hdfs和本地目录

参考链接

发布了133 篇原创文章 · 获赞 67 · 访问量 9917

猜你喜欢

转载自blog.csdn.net/weixin_43797885/article/details/104654841