博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive
阅读量:5228 次
发布时间:2019-06-14

本文共 1098 字,大约阅读时间需要 3 分钟。

数据仓库

Hive是建立在Hadoop HDFS上的数据仓库基础架构

Hive可以用来进行数据提取转化加载(ETL)

Hive定义了见到那的类似SQL查询语言,称为HQL它允许熟悉SQL的用户查询数据

Hive允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作

Hive是SQL解析引擎,他将SQL语句转移成M/R Job然后在Hadoop执行

Hive的表其实就是HDFS的目录/文件

Hive的体系节后

Hive的元数据:Hive将元数据存储在数据库中(metastore),支持mysql,derby等数据库。

Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等

一条HQL语句如何在hive中进行查询的?

解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询记录存储在HDFS中,并在随后有MapReduce调用执行

hive>quit

hive --service cli >exit

Ctrl+L 或者!clear清屏

show tables 查看数据仓库中的表

show functions 查看数据仓库中的内置函数

查看表结构:desc 表名

查看HDFS上的文件:dfs -ls目录

执行操作系统的命令:!命令

dfs -lsr /user递归查看hdfs /user下的文件

执行HQL语句

select *** from ***

执行SQL的脚本

source SQL文件

hive -S静默模式,直接输出结果,不产生调试信息

hive -e 'show tables';

hive -S -e 'select * from test1';

Web界面方式:

hive --service hwi 

通过浏览器来访问:http://<IP地址>:9999/hwi/

远程服务启动方式:

hive --service hiveserver

Hive的数据类型

内部表创建表和加载数据分开完成

外部表只是一个过程,加载数据和创建表同时完成,并不会移动到数据仓库目录中,只是与外部数据建立一个链接。当删除一个外部表时,仅删除该链接

桶表(Buckeet Table)

桶表是对数据进行哈希取值,然后放到不同的文件中进行存储。

物化视图,可以存数据,Hive不支持,oracle,mysql支持

 

转载于:https://www.cnblogs.com/hotMemo/p/9498552.html

你可能感兴趣的文章
我的第一个python web开发框架(29)——定制ORM(五)
查看>>
中国剩余定理
查看>>
基础笔记一
查看>>
uva 10137 The trip
查看>>
Count Numbers
查看>>
编写高质量代码改善C#程序的157个建议——建议110:用类来代替enum
查看>>
网卡bond技术
查看>>
UITabbarController的UITabbarItem(例:"我的")点击时,判断是否登录
查看>>
UNIX基础知识之输入和输出
查看>>
【洛谷 P1666】 前缀单词 (Trie)
查看>>
数据库锁机制及乐观锁,悲观锁的并发控制
查看>>
图像处理中双线性插值
查看>>
RobHess的SIFT代码解析之RANSAC
查看>>
03 线程池
查看>>
201771010125王瑜《面向对象程序设计(Java)》第十三周学习总结
查看>>
手机验证码执行流程
查看>>
python 基础 ----- 变量
查看>>
设计模式课程 设计模式精讲 2-2 UML类图讲解
查看>>
Silverlight 的菜单控件。(不是 Toolkit的)
查看>>
:hover 鼠标同时触发两个元素变化
查看>>