ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

《Hadoop权威指南》 第17章 (上): Hive是啥 、Hive运行实例

2020-02-21 17:53:18  阅读:146  来源: 互联网

标签:17 Hadoop hive 索引 Hive 数据 加载


------------恢复内容开始------------

《Hadoop权威指南》 第17章 关于Hive

定义: 信息平台可以描述为 "企业吸收、处理、生成信息的行为"与“帮助企业自身加速从经验数据中学习”的“中心”。

Hive简介

  1. Hive是一个建立在Hadoop集群上的数据仓库框架,方便对大规模HDFS数据集进行查询
  2. Hive是Apache项目之一,开源自FaceBook,可以作为一个通用、可伸缩的数据处理平台
  3. Hive可以把SQL查询转换成一系列在Hadoop集群上运行的作业,Hive把数据组织为表,通过这个方式为存储在HDFS上的数据赋予结构,比如元数据(表结构)就存储在metastore数据库中。

17.1 安装Hive

  • hive.apache.org/downloads.html 选择镜像下载 版本和Hadoop的大版本号一致即可
  • 解压,加进路径
tar xzf .....tar.gz
pwd
export HIVE_HOME=~/...-bin
export PATH=$PATH:$HIVE_HOME/bin

17.1.2 Hive的shell环境

  • 基本与mysql一致, hive 启动
  • 小插曲, hadoop需要先启动, ,sbin/hadoop-daemon.sh start ,然后 关闭安全模式hdfs dfsadmin -safemode leave
  • 然后还要先启动hive元数据服务,不然会报错
    HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
  • 启动metadata, bin/hive --service metastore &
  • 发生新的异常 MetaException
    MetaException(message:Version information not found in metastore. )
  • 到 hive-site.xml中修改: hive.metastore.schema.verification设置成false
  • 发生新的问题,需要配置mysql,发生授权异常/版本兼容升级问题
    ERROR 1805 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. The table is probably corrupted
    • 管理员身份启动nysql,mysql_upgrade -u root -p 13456 ,执行升级
  • 后续又是各种问题, 一路百度报错信息
  • 运行成功
hive> show tables;
OK
Time taken: 4.56 seconds
hive> show tables;
OK
Time taken: 0.022 seconds
hive> 

17.2 hive本地加载sql示例

  • 建表 create
  • 加载数据 load input
  • 查询 select

17.3.1 配置Hive

  • hive --service help 获取服务提示

17.3.2 Hive服务

17.3.3 Metastore

  • Metastore是hive元数据的集中存放地,包括服务和后台数据的存储。

17.4.1 读时模式和写时模式

  • 写时模式: 传统数据库, 表的模式在数据加载时候强制确定的,数据写入时会要求对照模式进行检查。有利于提升查询性能,可以方便对表中的列建立索引。
  • 读时模式: hive对数据的验证,放到了查询的时候进行验证; 加载速度很快,数据加载仅仅只是文件复制或者移动.

17.4.2 hive 更新、事务和索引

  • Hive更新,把新数据替换后放入新表实现
  • Hive 不使用索引:“全表扫描” 是常态,hive本就被设计为用MapReduce操作的HDFS数据
  • Hive 0.7.0 发布版本使用了标记锁和分区级锁,show locks获取一查询那些锁的信息
  • 目前hive的索引分为两类,紧凑型索引和位图型索引

标签:17,Hadoop,hive,索引,Hive,数据,加载
来源: https://www.cnblogs.com/zhazhaacmer/p/12340307.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有