【Hive学习笔记】2

本文介绍了Hive的元数据概念,包括元数据的定义、HiveMetadata的内容以及HiveMetastore的服务作用。HiveMetastore管理数据库中的元数据,提供统一的访问接口。此外,文章还分享了Hive初体验,强调HiveSQL的易学性,但因其基于MapReduce执行,处理大数据集速度快,小数据集则效率低下。适合大数据批处理场景。
摘要由CSDN通过智能技术生成


一、元数据

1、什么是元数据

元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。

2、Hive Metadata

  • Hive Metadata就是Hive的元数据;
  • 包含用Hive创建的database、table 、表的位置、类型、属性、字段顺序类型等元信息;
  • 元数据存储在关系型数据库中。如hive内置的Derby、或者第三方如MySQL等。

3、Hive Metastore

  • Metastore就是元数据服务,Metastore服务的作用是管理metadata元数据,对外暴露服务地址,让各种客户端通过连接metastore服务,由metastore再去连接MySQL数据库来存取元数据;
  • 有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore服务即可。某种程度上也保证了hive元数据的安全。

在这里插入图片描述

二、Hive初体验

1、Hive与MySQL

  • Hive SQL语法和标准SQL很类似,使得学习成本降低不少;
  • Hive底层是通过MapReduce执行的数据插入动作,所以速度慢;
  • 如果大数据集这么一条一条插入的话是非常不现实的,成本极高;
  • Hive应该具有自己特有的数据插入表方式,结构化文件映射成为表。

2、Hive想要将结构化数据映射成为表,就需要注意创建表时,字段顺序、字段类型要和文件中保持一致;如果类型不一致,hive会尝试转换,但是不保证转换成功。不成功显示null。

3、Hive不适合处理小数据

  • Hive底层的确是通过MapReduce执行引擎来处理数据的;
  • 执行完一个MapReduce程序需要的时间不短;
  • 如果是小数据集,使用hive进行分析将得不偿失,延迟很高
  • 如果是大数据集,使用hive进行分析,底层MapReduce分布式计算,很快。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值