请问hadoop的hdfs文件系统和本地windows文件系统或linux文件系统是什么关系啊,谢谢

请问hadoop的hdfs文件系统和本地windows文件系统或linux文件系统是什么关系啊,谢谢,第1张

hdfs的数据实际上是存储在本地文件系统中的。在配置hadoop时你需要配置hdfs的存储文件夹,如果你的用户名为root,文件夹位置是/root/tmp。那么你的hdfs的数据存储在/root/tmp/dfs/data/current中。其中block是块文件,也就是数据文件,meta是元数据。hadoop是java写的,因此hadoop存储的数据的方式使用的也是java的方式。

首先将文件名发送给名称节点;名称节点根据文件名找到对应数据块信息,再根据数据块信息。

hadoopmapreduce通常针对hdfs中存储的数据运行。该系统是围绕数据局部性设计的,要求数据采用hdfs格式。也就是说,为了提高性能,map任务在存储数据的同一块硬件上运行。

也就是说,如果出于某种原因,您的数据必须存储在hdfs之外,然后使用mapreduce进行处理,那么这是可以做到的,但要做的工作要多一些,而且效率不如本地处理hdfs中的数据。

所以让我们来看两个用例。从日志文件开始。日志文件,因为它们不是特别可访问的。它们只需要被卡在某个地方,然后保存起来,以备日后分析。hdfs非常适合这种情况。如果你真的需要一个日志,你可以得到它,但一般人会寻找输出的分析。所以将日志存储在hdfs中并正常处理它们。

然而,hdfs和hadoop map reduce理想格式的数据(单个大平面文件中的许多记录)并不是我认为高度可访问的。hadoopmapreduce希望输入文件的大小为多兆字节,每个文件有许多记录。你越是偏离这个案子,你的表现就越会下降。有时您的数据需要随时在线,而hdfs对此并不理想。例如,我们将以你的书为例。如果这些书籍用于需要以在线方式访问内容(即编辑和注解)的应用程序中,则可以选择将它们存储在数据库中。然后,当您需要运行批处理分析时,可以使用自定义inputformat从数据库中检索记录并在mapreduce中处理它们。

我目前正在用一个网络爬虫来完成这个任务,它将网页单独存储在amazons3中。网页太小,无法作为mapreduce的一个有效输入,因此我有一个定制的inputformat,为每个mapper提供几个文件。这个mapreduce作业的输出最终被写回s3,因为我使用的是amazonemr,hadoop集群就消失了。

数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。

数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。

数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。(维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID)

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看WHInmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。

“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。

“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。

“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。

数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋

补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。

1效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。

2数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。

3扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了

以上就是关于请问hadoop的hdfs文件系统和本地windows文件系统或linux文件系统是什么关系啊,谢谢全部的内容,包括:请问hadoop的hdfs文件系统和本地windows文件系统或linux文件系统是什么关系啊,谢谢、hadoop节点状态存储在哪里、数据仓库与 *** 作数据库有何联系和区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9373892.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存