Hive编程入门指南

本文是Hive编程入门指南,介绍了Hive作为基于Hadoop的数据仓库工具,提供SQL接口处理大规模数据。内容包括Hive的基本概念、版本、与关系型数据库的区别,以及如何进行DDL和DML操作,如创建数据库、建表、加载数据等。
摘要由CSDN通过智能技术生成

一、基本概念

1. 定义

Hive是基于Apache Hadoop的数据仓库基础架构,用于读取,写入和管理存储在分布式系统中的大型数据集,并使用SQL语法进行查询。

Hive建立在Hadoop之上,具有以下功能:

  1. 通过SQL轻松访问数据的工具,从而实现数据仓库任务,如提取/转换/加载(ETL),报告和数据分析。
  2. A mechanism to impose structure on a variety of data formats 一种为各类数据格式增加表结构的机制
  3. 访问直接存储在HDFS或其他数据存储系统的文件
  4. 通过Tez,Spark或MapReduce执行查询
  5. Procedural language with HPL-SQL
  6. 通过Hive LLAP,Apache YARN和Apache Slider进行子 - 秒查询检索
    这里写图片描述

上图为一幅经典的Hive基本架构图:下层基于Hadoop,上层主要包括驱动器、服务器、客户端和元数据存储,驱动又包含了编译器、优化器和执行器

Hive旨在最大限度地提高可扩展性(通过更多的机器向Hadoop集群动态添加),性能,可扩展性,容错性以及与其输入格式的松散耦合。

Hive的组件包括HCatalog和WebHCat。

  • HCatalog用于Hadoop的 表和存储 管理层,使用户可以使用不同的数据处理工具(包括Pig和MapReduce)来更轻松地读取和写入数据。
  • WebHCat提供了一个可用于运行Hadoop MapReduce(或YARN),Pig,Hive作业或使用HTTP(REST风格)界面执行Hive元数据操作的服务。

2. 版本

Hive目前存在两条线:master、branch-1,对应的Hive版本即Hive2.x.y和Hive1.x.y
这里写图片描述

3. 与关系数据的对比

与关系型数据库的区别:
这里写图片描述
由于设计目的的不同,导致Hive和关系型数据库的一系列区别,需要重点理解Hive的“读模式”。

二、基本操作

Hive目前有两个客户端:Hive CLI、Beeline CLI 。Beeline是HiveServer2(在Hive 0.11中引入)的,基于SQLLine的JDBC客户端。 由于Hive新开发集中在HiveServer2上,Hive CLI很快将被弃用。

1.DDL (create/drop/alter/truncate/show/describe)

1.1、建数据库

Hive通过数据库(Databases)、表(Tables)、分区(Partitions)、桶(Buckets)来组织数据,其中分区和桶是非必需的,根据数据情况进行选择。

-- 建数据库语法
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
  [COMMENT database_comment]
  [LOCATION hdfs_path]
  [WITH DBPROPERTIES (property_name=property_value, ...)];

其中DADATABASE和SCHEMA等价,可以互换。

--删除数据库
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];

--修改数据库属性
ALTER (
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值