首页 > 其他分享 >数据仓库Hive

数据仓库Hive

时间:2024-06-23 12:56:04浏览次数:19  
标签:数据库 配置 数据仓库 mytable hive 查询 Hive

Apache Hive 安装、配置与基本操作指南

Apache Hive 是一个基于 Hadoop 的数据仓库工具,可以将结构化数据文件映射为一张表,并提供类 SQL 查询功能。本文将结合两篇详细的技术文档,介绍 Hive 的安装、配置以及基本操作。

一、Hive 的安装与配置

1. 环境准备

在安装 Hive 之前,需要确保 Hadoop 已经安装并运行正常。Hive 依赖 Hadoop 生态系统,因此 Hadoop 的配置和运行环境至关重要。

2. 安装 Hive
  1. 下载 Hive 安装包:
    wget https://downloads.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
    
  2. 解压安装包:
    tar -zxvf apache-hive-3.1.2-bin.tar.gz
    
  3. 将解压后的目录移动到指定目录,例如 /usr/local/hive
    mv apache-hive-3.1.2-bin /usr/local/hive
    
3. 配置 Hive
  1. 配置环境变量:
    编辑 ~/.bashrc 文件,添加以下内容:

    export HIVE_HOME=/usr/local/hive
    export PATH=$PATH:$HIVE_HOME/bin
    

    然后执行 source ~/.bashrc 使配置生效。

  2. 配置 Hive 元存储(Metastore):
    Hive 使用元存储来保存数据库和表的元数据。默认情况下,Hive 使用嵌入式 Derby 数据库。为了生产环境的稳定性,建议配置 MySQL 或 PostgreSQL 作为元存储。
    conf/hive-site.xml 文件中添加以下内容:

    <property>
       <name>javax.jdo.option.ConnectionURL</name>
       <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
       <description>JDBC connect string for a JDBC metastore</description>
    </property>
    <property>
       <name>javax.jdo.option.ConnectionDriverName</name>
       <value>com.mysql.jdbc.Driver</value>
       <description>Driver class name for a JDBC metastore</description>
    </property>
    <property>
       <name>javax.jdo.option.ConnectionUserName</name>
       <value>hive</value>
       <description>username to use against metastore database</description>
    </property>
    <property>
       <name>javax.jdo.option.ConnectionPassword</name>
       <value>hivepassword</value>
       <description>password to use against metastore database</description>
    </property>
    
4. 启动 Hive

执行以下命令启动 Hive CLI:

hive

在 CLI 中可以执行 HiveQL 命令来创建数据库和表,以及执行查询操作。

二、Hive 基本操作

1. 创建数据库和表
  1. 创建数据库:

    CREATE DATABASE mydatabase;
    
  2. 切换到新创建的数据库:

    USE mydatabase;
    
  3. 创建表:

    CREATE TABLE mytable (
        id INT,
        name STRING
    )
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    STORED AS TEXTFILE;
    
2. 加载数据

将本地文件系统或 HDFS 上的数据加载到表中:

LOAD DATA LOCAL INPATH '/path/to/local/file' INTO TABLE mytable;
3. 查询数据

使用 HiveQL 进行数据查询:

SELECT * FROM mytable;
4. 数据导出

将查询结果导出到本地文件系统:

INSERT OVERWRITE LOCAL DIRECTORY '/path/to/output/dir'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
SELECT * FROM mytable;
5. 修改表结构
  1. 添加列:

    ALTER TABLE mytable ADD COLUMNS (age INT);
    
  2. 修改列类型:

    ALTER TABLE mytable CHANGE name name STRING;
    

Hive 作为大数据处理的利器,具备强大的数据仓库功能和灵活的查询能力,是处理海量数据的得力助手。

标签:数据库,配置,数据仓库,mytable,hive,查询,Hive
From: https://www.cnblogs.com/xiaoyu-w/p/18263265

相关文章

  • 数据仓库之Hive
    ApacheHive是一个基于Hadoop的数据仓库软件,它提供了数据摘要、查询和分析的大数据能力。Hive通过类似于SQL的HiveQL语言,使用户能够在不深入了解MapReduce的情况下进行大数据处理和分析。以下是对Hive的详细介绍:1.核心概念HiveQL:Hive提供了一种类似于SQL的查询语言,称为Hiv......
  • Hive笔记-4
    240618-Hive笔记-44.2Insert4.2.1将查询结果插入表中1)语法INSERT (INTO |OVERWRITE)TABLE tablename[PARTITION (partcol1=val1,partcol2=val2...)]select_stamement;关键字说明:(1)INTO:将结果追加到目标表(2)OVERWRITE:用结果覆盖原有数据2)案例......
  • Hive怎么调整优化Tez引擎的查询?在Tez上优化Hive查询的指南
    目录在Tez上优化Hive查询的指南调优指南理解Tez中的并行化理解mapper数量理解reducer数量并发案例1:未指定队列名称案例2:指定队列名称并发的指南/建议容器复用和预热容器容器复用预热容器一般Tez调优参数在Tez上优化Hive查询的指南在Tez上优化Hive查询无法采用一刀切的方法。查询......
  • 数据处理技术-Hive的表与数据类型
    Hive数据模型Hive的数据模型主要由表构成,包括内部表,外部表,分区表和桶表。我也将从这四个方面介绍。在这之前先介绍另外一个概念:DDL,DataDefinitionLanguage数据定义语言,是SQL语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言。核心语法由CREATE,ALTER,DROP......
  • 【廉颇老矣,尚能饭否】传统的数据仓库是否还能发挥作用?
    引言:随着数字化转型的深入和大数据技术的发展,大数据平台、数据中台和和数据湖技术不断涌现,给人感觉传统的数据仓库技术已经过时,廉颇老矣,不能应对新的挑战,在数字化转型中,不能发挥重要作用;传统数仓,尚能饭否?客观来说,传统数仓的优势还是可以在数字化转型中发挥重要的作用,如预算不......
  • 什么是数仓调度?推荐使用这款数据仓库ETL工具
    随着企业数据规模的不断增大,如何高效地管理和利用数据成为了企业数字化转型过程中的重要问题。数据仓库作为一种专门用于存储和处理企业数据的技术,已经成为了企业数字化转型过程中不可或缺的一部分。而数仓调度则是数据仓库建设过程中至关重要的一环。一、什么是数仓调度?......
  • Docker+Jenkins+Pipline实现Vue项目input选择不同差异性config文件并修改文件内容后打
    场景Docker+Jenkins+Pipline实现SpringBoot项目input选择不同差异性yml文件打包、执行sh打包压缩包、使用archiveArtifacts下载制品(jar包、压缩包):https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/139748758DockerCompose+Jenkins+Pipeline流水线打包Vue项目(解压......
  • Docker+Jenkins+Pipline实现SpringBoot项目input选择不同差异性yml文件打包、执行sh打
    场景Docker+Jenkins+Pipline如何获取git插件环境变量(提交sha、分支等)以及Jenkinsfile中获取sh执行结果(获取git最近提交信息):https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/139697004在上面的基础上实现了使用Jenkinsfile文件获取git的提交记录以及获取sh的执......
  • 用户画像数据仓库建设实践
    一、数据仓库1.1简介  简而言之,数据仓库是一个集成的、面向主题的、相对稳定的数据集合,它能够反映数据的历史变化。在构建数据仓库时,我们会根据不同的主题域对数据进行分类,并通过数据建模技术对数据进行重新组织和抽象,以便从更高的层次对分析对象进行一致且完整的描述......
  • hive笔记
    hive环境搭建基础环境准备由于centos7系统自带的mariadb数据库会和mysql冲突,所以首先要将它删掉。使用rpm命令sudorpm-qa|grep-imariadb查看是否还有mariadb数据库。如下图就是存在:根据显示的版本将对应mariadb数据库删除。仍是使用rpm的命令sudorpm-e--nodepsm......