黑马程序员-大数据入门到实战-分布式SQL计算 Hive 入门

简介: 黑马程序员-大数据入门到实战-分布式SQL计算 Hive 入门

1. Apache Hive 概述

  1. 分布式SQL计算定义
    以分布式的形式,执行SQL语句,进行数据统计分析
  2. Apache Hive功能
  1. 将SQL语句翻译成MapReduce程序,提供用户分布式SQL计算能力

2. 模拟实现Hive功能

  • 元数据管理
  • SQL解析器

3. Hive基础架构

  • 元数据管理
  • SQL解析器:完成SQL解析、执行优化、代码提交等功能
  • 用户接口:提供用户和Hive交互的功能

4. Hive部署

4.1 规划

4.2 步骤

  1. 安装MySQL数据库

  1. 配置Hadoop
    Hive的运行依赖于Hadoop
    同时涉及到HDFS文件系统的访问
    需设置hadoop用户允许代理其他用户

  2. 下载解压Hive
  • 切换到hadoop用户
su - hadoop
tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /export/server/
  • 设置软链接
ln -s /export/server/apache-hive-3.1.3-bin /export/server/hive
  1. 提供MySQL、Driver包
mv mysql-connector-java-5.1.34.jar /export/server/hive/lib/
  1. 配置Hive
  • 在Hive的conf目录内,新建hive-env.sh文件,填入以下环境变量内容:
export HADOOP_HOME=/export/server/hadoop
export HIVE_CONF_DIR=/export/server/hive/conf
export HIVE_AUX_JARS_PATH=/export/server/hive/lib
  • 在Hive的conf目录内,新建hive-site.xml文件,填入以下内容:

  1. 初始化元数据库
  • 在MySQL中新建数据库:hive
CREATE DATABASE hive CHARSET UTF8;
  • 执行元数据库初始化命令
cd /export/server/hive
bin/schematool -initSchema -dbType mysql -verbos
# 初始化成功后,会在MySQL的hive库中新建74张元数据管理的表。
  1. 启动Hive(使用Hadoop用户)
  • 创建一个hive的日志文件夹
mkdir /export/server/hive/logs
  • 启动元数据管理服务(必须启动,否则无法工作)
bin/hive --service metastore # 前台启动
nohup bin/hive --service metastore >> logs/metastore.log 2>&1 & # 后台启动
  • 启动客户端
bin/hive   # Hive Shell方式(可以直接写SQL)
bin/hive --service hiveserver2   # Hive ThriftServer方式(不可直接写SQL,需要外部客户端链接使用)

5. Hive初体验

6. Hive客户端

6.1 HiveServer & Beeline

  1. 启动
  • 在hive安装的服务器上,首先启动metastore服务,然后启动hiveserver2服务
#先启动metastore服务 然后启动hiveserver2服务
nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &
nohup bin/hive --service hiveserver2 >> logs/hiveserver2.log 2>&1 &
  1. beeline
  • 在node1上使用beeline客户端进行连接访问。需要注意hiveserver2服务启动之后需要稍等一会才可以对外提供服务。
  • Beeline是JDBC的客户端,通过JDBC协议和Hiveserver2服务进行通信,协议的地址是:jdbc:hive2://node1:10000
[root@node1 ~] #/export/server/hive/bin/beeline 
Beeline version 3.1.2 by Apache Hive
beeline> ! connect jdbc:hive2://node1:10000
Connecting to jdbc:hive2://node1:10000
Enter username for jdbc:hive2://node1:10000: root
Enter password for jdbc:hive2://node1:10000: 
Connected to: Apache Hive (version 3.1.2)
Driver: Hive JDBC (version 3.1.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://node1:10000> 

6.2 DataGrip & DBeaver

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
数据可视化
分布式电源接入电网进行潮流计算
分布式电源接入电网进行潮流计算
|
SQL 分布式计算 大数据
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
本文深入介绍 Hive 与大数据融合构建强大数据仓库的实战指南。涵盖 Hive 简介、优势、安装配置、数据处理、性能优化及安全管理等内容,并通过互联网广告和物流行业案例分析,展示其实际应用。具有专业性、可操作性和参考价值。
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
|
12月前
|
存储 并行计算 算法
【前推回代法】含有分布式电源的三相不平衡配电网潮流计算【IEEE33节点】(Matlab代码实现)
【前推回代法】含有分布式电源的三相不平衡配电网潮流计算【IEEE33节点】(Matlab代码实现)
456 0
|
SQL 分布式计算 大数据
SparkSQL 入门指南:小白也能懂的大数据 SQL 处理神器
在大数据处理的领域,SparkSQL 是一种非常强大的工具,它可以让开发人员以 SQL 的方式处理和查询大规模数据集。SparkSQL 集成了 SQL 查询引擎和 Spark 的分布式计算引擎,使得我们可以在分布式环境下执行 SQL 查询,并能利用 Spark 的强大计算能力进行数据分析。
|
存储 分布式计算 负载均衡
分布式计算模型和集群计算模型的区别
【10月更文挑战第18天】分布式计算模型和集群计算模型各有特点和优势,在实际应用中需要根据具体的需求和条件选择合适的计算架构模式,以达到最佳的计算效果和性能。
958 162
|
并行计算 PyTorch 算法框架/工具
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
本文探讨了如何通过技术手段混合使用AMD与NVIDIA GPU集群以支持PyTorch分布式训练。面对CUDA与ROCm框架互操作性不足的问题,文章提出利用UCC和UCX等统一通信框架实现高效数据传输,并在异构Kubernetes集群中部署任务。通过解决轻度与强度异构环境下的挑战,如计算能力不平衡、内存容量差异及通信性能优化,文章展示了如何无需重构代码即可充分利用异构硬件资源。尽管存在RDMA验证不足、通信性能次优等局限性,但该方案为最大化GPU资源利用率、降低供应商锁定提供了可行路径。源代码已公开,供读者参考实践。
1547 3
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
1049 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
SQL 存储 机器学习/深度学习
如何让SQL速度飞起来 入门YashanDB优化器
优化器,SQL引擎的核心组成部分,是数据库中用于把关系表达式转换成最优执行计划的核心组件,影响数据库系统执行性能的关键组件之一。
260 15
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
768 8