Hadoop中的问题–何时无法交付?

Hadoop是很棒的软件。 它不是原始的,但肯定不能消除它的荣耀。 它建立在并行处理的基础上,这个概念已经存在了数十年。 Hadoop虽然从概念上来说并不是独创性的,但它显示了自由开放的力量(就像在啤酒中一样!),并且最重要的是它展示了可用性的全部意义。 它在大多数其他并行处理框架都失败的地方成功了。 所以,现在您知道我并不讨厌。

相反,我认为Hadoop很棒。 但是,它并不能证明Hadoop出现了一些公然的失败,可能是架构,概念上或文档上的明智选择。 Hadoop的普及不应使它免受Hadoop实施中的重新设计和返工问题的需要。 以下几点是基于几个月来围绕Hadoop进行探索和黑客攻击的。 挖吧。

  1. 我听到有人说“数据本地性”吗?
  2. Hadoop一次又一次地在数据局部性方面。 在Hadoop挤奶者举办的一些讲习班中,他们只是继续进行下去。 他们说,Hadoop将尽可能尝试通过HDFS在该节点本地存储的数据块上启动任务。 这听起来像是一项超级功能,不是吗? 它节省了大量带宽,而无需传输TB的数据,对吗? 地狱,不。 它不是。 这意味着首先必须找到一种将数据导入HDFS(Hadoop分布式文件系统)的方法。 除非您生活在过去的十年中,并且所有数据都以文件形式存在,否则这并非易事。 假设您这样做了,让我们将数据的TB转移到HDFS。 现在,它将开始完成整个“数据局部性”工作。 嗯,好。 我是否被一波光辉打动了,还是应该做什么? 让我们弄清事实。 要使用Hadoop,我们的问题应该能够并行执行。 如果问题或至少一个子问题无法并行化,它将不会从Hadoop中获得太多收益。 这意味着任务算法独立于它处理的数据的任何特定部分。 这将进一步简化,也就是说,任何任务都可以处理数据的任何部分。 那么,这是否意味着显而易见的事情就是“数据局部性”? 为什么,Hadoop开发人员甚至会编写一些代码,使某任务在另一个节点上处理数据,除非出现严重错误。 该功能将是如果这样做否则! 如果任务已完成对节点本地数据的操作,然后又从另一个节点传输数据并处理该数据,那将是难题的一个重要特征。 至少那是值得的。

  3. 你能把所有东西都放回文件中吗
  4. 您在数据库中是否有结构良好的数据? 也许,您变得有点幻想,并使用了最新最好的NoSQL数据存储? 现在让我写下您的想法。 “好吧,让我们来运行一些Hadoop作业,因为我想在我的数据中找到所有这些隐藏的金矿,这将使我成为《福布斯》的头版。” 我听到你了 让我们滚动一些Hadoop作业。 可是等等! 什么…..? 为什么所有样本都在文本文件中。 使用CSV文件,制表符分隔文件,空格分隔文件以及所有其他类型的整洁文件的大量示例。 为什么每个人都回溯几十年并再次使用文件? 所有这些家伙都没有听说过DB和所有这些花哨的东西。 看来您采用数据存储还为时过早。 文件是Hadoop世界的英雄。 如果您想快速,轻松地使用Hadoop,那么正确的最佳选择是将数据整齐地导出到文件中,并运行所有那些令人眼花word乱的字数示例(Pun打算这样做!)。 因为没有文件,Hadoop无法完成所有很酷的“数据局部性”。 一切都必须首先放在HDFS中。 那么,您将如何分析假设的FUHadoopDB中的数据? 首先,实现大约10多个必要的类,以将数据拆分并传输到Hadoop节点并运行您的任务。 Hadoop需要知道如何从FUHadoopDB中获取数据,因此我们假设这是可以接受的。 现在,如果不将其存储在HDFS中,则不会丢失数据本地性。 在这种情况下,任务运行时,他们自己将不得不从FUHadoopDB中提取数据来处理数据。 但是,如果您想使数据位置变得混乱,则需要从FUHadoopDB中提取数据并将其存储在HDFS中。 您不会招致任务运行时提取数据的损失,但是会在作业准备阶段以将数据传输到HDFS的形式支付。 哦,我是否提到了在HDFS中存储相同数据所需的额外磁盘空间。 我想节省磁盘空间,所以我选择让我的任务在运行任务时提取数据。 这是你的选择。

  5. Java是与操作系统无关的,不是吗?
  6. Java有其缺陷,但是在大多数情况下,它可以在大多数操作系统上顺利运行。 即使存在某些操作系统问题,也可以轻松解决。 Hadoop的人们大多基于Linux环境发布了文档。 他们说Windows受支持,但是由于没有提供足够的文档而忽略了那些无知的人。 Windows甚至没有使它进入推荐的生产环境。 它可以用作开发平台,但是随后您必须将其部署在Linux上。 我当然不是Windows迷。 但是,如果我编写Java程序,我会费心地使其在Windows上运行。 如果没有,为什么还要使用Java? 为什么要搞出怪异的字节码呢? 哦,所有想出字节码和JVM并没有浪费的好人的不眠之夜。

  7. CS 201:面向对象的编程
  8. 如果您尝试将Hadoop集成到平台中,请再考虑一下。 让我自由输入您的想法。 “让我们扩展一些接口并插入我的身份验证机制。 它应该很容易。 我的意思是这些家伙设计了世界上最伟大的软件,可以消除世界的饥饿。” 我又听到你了 如果您打算这样做,请不要这样做。 就像那里的OOP反图案101。 如此多的地方会说“ if(kerberos)”并执行一些特定于安全性的功能。 我的一位同事经历了这一痛苦,最终决定为他的软件编写基于keberos的身份验证,然后使其与Hadoop一起使用更容易。 拥有权利的同时也被赋予了重大的责任。 Hadoop无法履行此职责。

即使存在这些问题,Hadoop的流行似乎也引起了极大的关注,这是理所应当的。 它应该具有大数据分析能力。 但是我认为它太流行了,太快了。 Hadoop社区需要进一步改进这一出色的软件。

参考: Hadoop中的问题–何时无法交付? 来自我们的JCG合作伙伴   Mackie Mathew在dev_religion博客上


翻译自: https://www.javacodegeeks.com/2012/03/problems-in-hadoop-when-does-it-fail-to.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创建 dblink

目的:oracle中跨数据库查询 两台数据库服务器db_A(本地)和db_B(远程192.168.1.100),db_A下用户user_a 需要访问到db_B下user_b的数据解决:查询得知使用dblink(即database link 数据库链)实现过程:1、确定用户user_a有没有创…

C#静态常量和动态常量的区别

C#拥有两种不同的常量:静态常量(compile-time constants)和动态常量(runtime constants)。它们有不同的特性,错误的使用不仅会损失效率,还可能造成错误。相比之下,静态常量在速度上会稍稍快一些,但是灵活性却比动态常…

spring的钩子_高级java开发必须掌握的Spring接口——SmartLifecycle

有些场景我们需要在Spring 所有的bean 完成初始化后紧接着执行一些任务或者启动需要的异步服务。 常见有几种解决方案j2ee 注解 启动前PostConstruct 销毁前PreDestroy 基于j2ee 规范springboot 的 org.springframework.boot.CommandLineRunner springboot 特性前面我已经介绍过…

Java:对Java SE 6和Java SE 7的客户端和桌面部分的改进!

Java 6和Java 7中的客户端改进 了解有关Java SE 6和Java SE 7的客户端和桌面部分的改进,包括新的applet插件,Java Deployment Toolkit,成形和半透明的窗口,重量级-轻量级混合以及Java Web Start。 介绍 自2006年12月发布Java平台…

辨异 —— 行星 vs 恒星

star:恒星,planet:行星;1. 恒星 恒星是指宇宙中靠核聚变产生的能量而自身能发热发光的星体(比如太阳)。过去天文学家以为恒星的位置是永恒不变的,以此为名。但事实上,恒星也会按照一…

软件公司职责分配

岗位:项目经理 主要职责:1、 计划:a)项目范围、项目质量、项目时间、项目成本的确认。b)项目过程/活动的标准化、规范化。c)根据项目范围、质量、时间与成本的综合因素的考虑,进行项目的总体规划与阶段计划。d)各项计划得到上级领…

大型网站架构系列:负载均衡详解(4)

本文是负载均衡详解的第四篇,主要介绍了LVS的三种请求转发模式和八种负载均衡算法,以及Haproxy的特点和负载均衡算法。具体参考文章,详见最后的链接。 三、LVS负载均衡 LVS是一个开源的软件,由毕业于国防科技大学的章文嵩博士于19…

关于JavaFX的最常见问题

上周,我在斯德哥尔摩的Jfokus 2012上做了一个关于JavaFX的演讲,当时我意识到每次活动都会问三个问题。 似乎有一个普遍的兴趣,所以我尝试在这篇文章中回答他们(尽可能的说实话): iPad或其他移动设备上的Jav…

python中面向对象空间时间_python基础学习Day15 面向对象、类名称空间、对象名称空间 (2)...

一、类先看一段代码:classPerson:animal 高级动物walk_way 直立行走 # 静态属性,静态变量,静态字段language 语言def __init__(self,name,age,work): # 函数 动态属性,方法#print(self)self.name nameself.ageageself.workworkdef…

Linux GRUB 引导Win 7 ---- error: invalid EFI file path

最近新买了个固态硬盘,先装了个Win 7系统,现在装的系统和以前装系统唯一的区别是引导不是以前的MBR,而是最新看似是个趋势的GPTUEFI方式。 win 7 装完啦,还是和以往的一样装 Ubantu (Ubantu 12.04),ubantu 引导磁盘扇…

其他位不变,具体位的赋值操作

GPIOC (GPIOC & 0xf0) | (Content[s_Index] & 0x0f);        //低四位赋值GPIOB (GPIOB & 0xc3) | ((Content[s_Index]>>2) & 0x3c);     //中间四位赋值 具体某一位置1或取反&#xff1a; 正确写法&#xff1a; 置1:GPIOC | (1<<i…

使用Spring AOP实现活动记录模式

在班级设计中&#xff0c;我们应就每个班级的职责分配做出决定。 如果我们选择的不错&#xff0c;系统将更易于理解&#xff0c;维护和扩展。 几乎我们所有的项目都有一个持久层&#xff0c;即关系数据库&#xff0c;文档存储或仅XML文件。 通常&#xff0c;您将使用DAO模式在业…

Java基础之反射

框架都要用到反射技术&#xff0c;反射都要用到一个类Class. java程序中的各个java类属于同一类事物&#xff0c;描述这类事物的java类名就是Class. 得到字节码的方式有三种&#xff1a; Date.class;new Date().getClass();Class.forName("java.lang.String");最后一…

php socketconnect连接失败_PHP设计模式之模板方法模式

模板方法模式&#xff0c;也是我们经常会在不经意间有会用到的模式之一。这个模式是对继承的最好诠释。当子类中有重复的动作时&#xff0c;将他们提取出来&#xff0c;放在父类中进行统一的处理&#xff0c;这就是模板方法模式的最简单通俗的解释。就像我们平时做项目&#xf…

linux系统硬件配置查看方法

一&#xff1a;查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo 如果觉得需要看的更加舒服 grep "model name" /proc/cpuinfo | cut -f2 -d: 二&#xff1a;查看内存 grep MemTotal /proc/meminfo grep MemT…

java String源码学习

public final class Stringimplements java.io.Serializable, Comparable<String>, CharSequence {/**char数组用于字符的存储 */private final char value[];/** 缓存string的hash码 */private int hash; // Default to 0public String() {/**无参构造函数,打印值为&quo…

JBoss AS 7.1.0.Final“ Thunder”发布-Java EE 6 Full Profile认证!

在JBoss AS7上进行了大约一年的开发后&#xff0c;我们现已发布7.1.0.Final“ Thunder” &#xff01; 可从此处的通常位置下载该文件。 对于JBoss AS7团队来说&#xff0c;这是一个非常大的成就&#xff0c;我们为此版本感到非常自豪。 这个版本包含了7.1.0.CR1b的许多错误修复…

数据库建表练习(10.11作业)

转载于:https://www.cnblogs.com/HRZJ/p/5951897.html

天干地支计算公式_天干地支主怎样计算?

回答&#xff1a;少女时代级别&#xff1a;硕士研究生2009-01-08 20:34:04来自&#xff1a;贵州省贵阳市我国古代是用天干地支来纪年的&#xff0c;现代社会已很少使用。一来现今社会已经离不开国际化&#xff0c;沿用老的历法已经不现实&#xff1b;二来天干地支在民间多用于算…

从程序员到CTO的Java技术路线图

时间:2013-05-29 17:39来源:www.chengxuyuans.com在技术方面无论我们怎么学习&#xff0c;总感觉需要提升自已不知道自己处于什么水平了。但如果有清晰的指示图供参考还是非常不错的&#xff0c;这样我们清楚的知道我们大概处于那个阶段和水平。 Java程序员 高级特性 反射、泛型…