ProgrammingHive笔记--Chapter1 Introduction

本文介绍了Hadoop及其MapReduce的工作原理,探讨了Hive作为数据仓库的应用,对比了Hive与Pig、HBase等工具的特点,适用于希望深入了解大数据处理框架的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章的主要内容包含:

概要:由于数据价值越来越大,越来越多的公司存储海量数据,hadoop提供了这样的一个环境,运用分布式系统来管理数据,实现数据的有效的存储和管理。其主要利用mapreduce的模型来进行管理。其中面临的挑战是一般的用户如何和hadoop的底层系统进行交互,sql是结构化的查询语言,hive提供了一个用sqlhadoop交互沟通的语言方式,基本和sql相同但又不尽相同。

Hive适合静态数据处理,更适合数据仓库存储数据,做简单的分析。因为他没有办法做实时的联机数据交互请求(oltp,online transaction processing)的交易处理,即双方都需有即时的反馈和更正;也不知何做实时的联机数据分析(olap online analytic processing),分析可以做,但无法做到实时,这时用hbase可能会更好。

1.hadoopmapreduce的工作原理--优点是大数据处理,更适合做数据仓库存储,很难做实时响应和更新。

2.hivehadoop之间的关系,hive是如何和hadoop交互的;

3.其他与hive有相同功能的项目--Pig

4.具备hive数据库不具备的功能的其他数据库--Hbase

5.其他语言的介绍


1.Hadoopmapreduce工作原理。

mapreduce为计算模型,将单个任务分成多个并行的小任务--通过map先对数据做简单处理,按照规则分发给reducer进行处理,之后把任务再合并起来,输出最终的结果。

举例:wordcount程序

不同的文件对应给不同的mappermapper按照需求的结果对每一行的数据进行处理输出key-value,然后mapper就行sortshuffle的过程,即将所有的key-value做排序,同样的key给到同一个reducer,一个reducer里可能有很多key-value对,但是同一个key只能在同一个reducer里。然后reducer把相同的key,和可能的value的集合放在一起,按照命令进行计算,最后输出结果。

2.hivehadoop的关系。

hive的访问方式有以下几种:CLI(command line interface)HWI(hive web interface)(可编程访问的)JDBC ODBCa thrift server

之后的查询和命令进入到drive模块,drive会对需求进行重编和最优化然后执行,他执行的时候不是直接生成mapreduce,而是生成了一些通用的模块,像是翻译成了XML语言,XML语言再驱动整个计算过程(个人理解)。

hivehadoop的交互主要通过jobtracker的交互,jobtracker将任务编程mapreduce进行处理。

hive的数据主要存储在metastone里,一般会存储表模式(table schema)和其他系统的表模式。

hadoop的数据主要存储在hdfs里(hadoop distributed filesystem),通过namenode对它进行管理(第二章会介绍,感觉namenode就是存储表结构的)。

3.pig

hive如果对数据进行处理尤其是复杂的处理一般需要嵌套语句,需要很多中间过程和临时表。

Pig类似hive,是yahoo开发的,它是直接写一堆声明,这堆声明会按照数据流将数据从一种形态变为另一种形态,更直观方便。即可以进行复杂的计算,但是他的语言不是sql,学习成本比较高。(理解它的意思,但是具体还是不是特别知道)

4.Hbase

数据库类型,具有hive不具备的数据库特性--实时响应,行级别更新及交互操作。

Hbase的原理是也是分布式系统存储数据,但会利用内存缓存技术来存储中间数据的变化,这样可以更新日志,并且每一行都有一个唯一的id,这样就可以快速的查询到行级别,同时也可以做到查询同一列在不同时间的变化。

hbase是列存储的,这块儿一般懂,感觉就是存列的名字,然后抽取的,需要后续再看。

5.其他

hadoop的高级语言库(应该是更灵活,不懂):casading\casalog\crunch

mapreduce的分布式处理工具:spark\strom\kafka 即既可以进行分析,也可以做数据存储的语言

其他数据处理(适用小数据量,算法包更完善):R\matlab\octave\mathematica\scipy,numpy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值