首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

走进大数据 数据仓库-Hive

Hive是什么?

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成为一张数据库表,并提供类SQL的查询功能。可以将sql语句转化为MapReduce任务进行运行。Hive提供了一系列的工具,可以用来进行数据提取转化加载,这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。

Hive的架构

用户接口:Shell/CLI,CLI,Shell终端命令行,采用交互形式使用 Hive 命令行与 Hive 进行交互。Cli启动的时候,会同时启动一个Hive副本。JDBC/ODBC客户端是Hive的JAVA实现,与传统数据库JDBC类似。Web UI通过浏览器访问hive。主要用来将我们的sql语句提交给hive。

Thrift服务器:Thrift是Facebook开发的一个软件框架,可以用来进行可扩展且跨语言的服务的开发,Hiv集成了该服务,能让不同的编程语言调用Hive的接口。

元数据库: 存储在 Hive 中的数据的描述信息。Hive 将元数据存储在数据库中,如 mysql、derby。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性,表的数据所在目录等。

解释器包含编译器、优化器、执行器:完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。

编译器:主要将sql语句编译成一个MR的任务。

优化器:主要是对我们的sql语句进行优化。

执行器:提交mr任务,进行执行。

Hive的数据基于HDFS进行存储,查询计划被转化为MapReduce任务,在Hadoop中执行。

操作数据库

1.创建数据库:create database if not exists 数据库名;

2.创建数据库并指定hdfs存储位置:create database 数据库名 location ‘位置’;

3.查看有哪些数据库:show databases;

4.修改数据库的信息:alter database 数据库名 set dbproperties()

5.查看数据库的信息:desc database 数据库名;

6.查询详细数据库信息:desc database extended 数据库名;

7.删除数据库(删除一个空数据库):drop database 数据库名;

8.强制删除数据库(删除有数据的数据库):drop database myhive cascade;

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191112A0K9BG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券