hive和mysql都是行数据库

hive和mysql都是行数据库,第1张

1查询语言不同:hive是hql语言,mysql是sql语句;

2数据存储位置不同:hive是把数据存储在hdfs上,而mysql数据是存储在自己的系统中;

3数据格式:hive数据格式可以用户自定义,mysql有自己的系统定义格式;

4数据更新:hive不支持数据更新,只可以读,不可以写,而sql支持数据更新;

5索引:hive没有索引,因此查询数据的时候是通过mapreduce很暴力的把数据都查询一遍,也造成了hive查询数据速度很慢的原因,而mysql有索引;

6延迟性:hive延迟性高,原因就是上边一点所说的,而mysql延迟性低;

7数据规模:hive存储的数据量超级大,而mysql只是存储一些少量的业务数据;

8底层执行原理:hive底层是用的mapreduce,而mysql是excutor执行器;

指定数据存放位置,如果没有指定,就会在hdfs的默认位置建立表文件。

Hive 没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织 Hive 中的表,只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据。

Hive 中所有的数据都存储在 HDFS 中,Hive 中包含以下数据模型:表(Table),外部表(External Table),分区(Partition),桶(Bucket)。

扩展资料:

Hive中的表和数据库中的表在概念上相似。 每个表在Hive中都有一个对应的目录来存储数据。

例如,一个表pvs,其在HDFS中的路径为:/ wh / pvs,其中wh是在 hive-sitexml 中由 ${hivemetastorewarehousedir} 指定的数据仓库的目录,所有表数据( 不包括外部表)存储在此目录中。

Partition 对应于数据库中的 Partition 列的密集索引,但是Hive中的Partition的组织方式与数据库中的完全不同。 在Hive中,表中的Partition与表下的目录相对应,所有Partition的数据都存储在相应的目录中。

在元数据库执行以下语句:

alter database hue character set latin1;

alter table beeswax_queryhistory modify `query` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

以上就是关于hive和mysql都是行数据库全部的内容,包括:hive和mysql都是行数据库、hive中创建外部分区表使用location是指定数据存放位置还是指数据来源、为什么linux 查看hive数据库中文不乱码,到 HUE里查看就是乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10094638.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存