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.pswp.cn/news/373735.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373735.shtml
英文地址,請注明出處:http://en.pswp.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程序員 高級特性 反射、泛型…