hive和mysql的语法区别
Hive与Mysql的语法使用区别
1.join表层面
hive:仅支持等值连接
mysql:支持等值连接、非等值连接
2.子查询出现的位置
hive:仅支持join、from、where子句后使用
mysql:支持在select、where、having、from、join子句后使用
hive只支持mysql数据库吗
Hive的底层可以是HBase或者HDFS上存储的文件。Hive的作用是把HQL翻译成MapReduce程序,从而减少分析人员每次都要写冗长Java程序的工作量。
单次Hive查询都需要耗费分钟级以上的时间(哪怕一个再小的表),因此无法作为web后端的数据库使用。HBase可以替代MySQL使用,至少淘宝就是这么做了。HBase是建造在HDFS基础上的分布式数据库,可以支持海量数据(比MySQL高一到两个量级)的存储和查询。还不容易丢失数据。
HIVE如何查看表和数据库
1
进入hive之前要把hadoop给启动起来,因为hive是基于hadoop的。所有的mr计算都是在hadoop上面进行的。
2
在命令行中输入:hive。这个时候就可以顺利的进入hive了。当然了,如果你想直接执行hql脚本文件可以这样:hive-fxxxxx.hql。
3
进入hive之后一一般默认的数据库都是default。如果你切换数据库的话所建的表都会是在default数据库里面。
4
创建数据库的语法是:createdatabasedatabase_name;非常简单的,其实hive跟mysql的语法还是比较相似的。为什么呢?请继续往下
5
切换数据库的时候可以输入:usedatabase_name;
查看所有数据库的时候可以输入:showdatabases;
查看所有表的时候可以输入:showtables
6
看表结构的时候可以输入:describetab_name;
hive和oracle区别
oracle是数据库,而hive是数据仓库,二者最大的区别就在于存储和计算.oracle数据库是支持存储计算功能的,Hive是基于hadoop的数据仓库工具,hive本身没有存储和计算能力,完全依赖于hdfs和MapReduce进行分布式存储和并行计算;通过将oracle/mysql等数据库中的表映射成hive上的一张表,使用hql语句对表数据进行增删改查操作,本质是将hql语句转化成Mapreduce程序运行.
hiveoracle依赖于Mapreduce进行计算本身内置计算能力不支持数据更新支持数据更新处理数据规模大,执行延迟高处理数据规模小,执行延迟低依赖于hdfs进行存储,分布式海量存储本身具有存储能力,存储能力有限扩展性高, 非插件情况下不支持事务扩展性差,支持事务,支持复杂索引不可以接入web前端进行展示可以接入前端web进行展示
hive
Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
oracle
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。
还没有评论,来说两句吧...