Hive--元数据--引入

回顾Hive的功能:

  • 功能一:将HDFS映射成Hive表的数据tips:【在工作中主要使用的功能】
    • 应用:现在在工作中使用Hive不做分析计算,主要做数据仓库的存储
  • 功能二:将SQL解析成MapReduce/Tez/Spark程序tips:【这个计算分析功能逐渐被替代了】在更高的版本,MR在未来会被Hive取消
    • Hive不仅仅支持将SQL转为MR
      • MR:默认会将SQL转换为MapReduce
      • Tez
      • Spark
    • 这个功能在实际工作中,逐渐被替换成别的工具来做分析处理,例如:
      • Presto
      • Impala
      • SparkSQL

问题1:工作中使用Presto/SparkSQL/Impala来实现对Hive中的表进行处理,Presto/SparkSQL/Impala如何知道Hive中有哪些表呢?即使这些工具知道Hive中有哪些表,它怎么知道这些表对应的HDFS上的数据是什么呢 ?

  • 解决:会让Presto/Impala/SparkSQL访问Hive的元数据
    • 这些框架会从Hive的元数据中找到表与HDFS的映射找到对应的HDFS文件地址
    • 会自己到HDFS上获取对应的数据,然后由自己的计算引擎计算

问题2:Hive的元数据存储在MySQL中,如果让这些框架直接读取MySQL中元数据,会有问题。

  • 第一:权限不好控制,所有的这些框架都需要有Mysql的访问权限
  • 第二:Hive的元数据,只有Hive能解析,其他框架即使得到了元数据,也无法解析
  • 解决:在Hive中构建一个服务:Metastore,负责管理所有的元数据请求
    • 接受所有元数据的访问请求
    • 管理元数据
    • 解析元数据返回给所有需要元数据的服务在这里插入图片描述

问题3:如何配置MetaStore服务

  • step1:先修改配置文件:hive-site.xml

    • 添加指定metastore服务的地址和端口
      <property>
        <name>hive.metastore.uris</name>
        <value>thrift://node-03:9083</value>
      </property>
    

tips:如果一旦配置了这个属性,启动顺序必须非常严格的按照先启动服务端,再启动客户端如果不注意启动顺序,就会报错

 bin/hive:启动HIve的客户端和服务端

在这里插入图片描述

  • step2:启动Hive

    • 必须先启动MetaStore服务
  cd /export/servers/hive-1.1.0-cdh5.14.0/
  bin/hive --service metastore

在这里插入图片描述

bin/hive
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值