O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Hadoop: An Industry Perspective

45.336 visualizações

Publicada em

Keynote that Amr Awadallah (Cloudera CTO and co-founder) delivered at MDAC'2010 (Massive Data Analytics over the Cloud).

Publicada em: Educação

Hadoop: An Industry Perspective

  1. Outline<br />What is Hadoop?<br />Overview of HDFS and MapReduce<br />How Hadoop augments an RDBMS?<br />Industry Business Needs:<br />Data Consolidation (Structured or Not)<br />Data Schema Agility (Evolve Schema Fast)<br />Query Language Flexibility (Data Engineering)<br />Data Economics (Store More for Longer)<br />Conclusion<br />
  2. What is Hadoop?<br />A scalable fault-tolerant distributed system for data storage and processing<br />Its scalability comes from the marriage of:<br />HDFS: Self-Healing High-Bandwidth Clustered Storage<br />MapReduce: Fault-Tolerant Distributed Processing<br />Operates on structured and complex data<br />A large and active ecosystem (many developers and additions like HBase, Hive, Pig, …)<br />Open source under the Apache License<br />http://wiki.apache.org/hadoop/<br />
  3. Hadoop History<br />2002-2004: Doug Cutting and Mike Cafarella started working on Nutch<br />2003-2004: Google publishes GFS and MapReduce papers <br />2004: Cutting adds DFS & MapReduce support to Nutch<br />2006: Yahoo! hires Cutting, Hadoop spins out of Nutch<br />2007: NY Times converts 4TB of archives over 100 EC2s<br />2008: Web-scale deployments at Y!, Facebook, Last.fm<br />April 2008: Yahoo does fastest sort of a TB, 3.5mins over 910 nodes<br />May 2009:<br />Yahoo does fastest sort of a TB, 62secs over 1460 nodes<br />Yahoo sorts a PB in 16.25hours over 3658 nodes<br />June 2009, Oct 2009: Hadoop Summit, Hadoop World<br />September 2009: Doug Cutting joins Cloudera<br />
  4. Hadoop Design Axioms<br />System Shall Manage and Heal Itself<br />Performance Shall Scale Linearly <br />Compute Shall Move to Data<br />Simple Core, Modular and Extensible<br />
  5. HDFS: Hadoop Distributed File System<br />Block Size = 64MB<br />Replication Factor = 3<br />Cost/GB is a few ¢/month vs $/month<br />
  6. MapReduce: Distributed Processing<br />
  7. Apache Hadoop Ecosystem<br />BI Reporting<br />ETL Tools<br />RDBMS<br />Hive (SQL)<br />Sqoop<br />Pig (Data Flow)<br />MapReduce (Job Scheduling/Execution System)<br />(Streaming/Pipes APIs)<br />HBase(key-value store)<br />Avro (Serialization)<br />Zookeepr (Coordination)<br />HDFS(Hadoop Distributed File System)<br />
  8. Use The Right Tool For The Right Job <br />Relational Databases:<br />Hadoop:<br />When to use?<br /><ul><li>Affordable Storage/Compute
  9. Structured or Not (Agility)
  10. Resilient Auto Scalability</li></ul>When to use?<br /><ul><li>Interactive Reporting (<1sec)
  11. Multistep Transactions
  12. Lots of Inserts/Updates/Deletes</li></li></ul><li>Typical Hadoop Architecture<br />Business Users<br />End Customers<br />Business Intelligence<br />Interactive Application<br />OLAP Data Mart<br />OLTP Data Store<br />Engineers<br />Hadoop: Storage and Batch Processing<br />Data Collection<br />
  13. Complex Data is Growing Really Fast<br />Gartner – 2009<br /><ul><li>Enterprise Data will grow 650% in the next 5 years.
  14. 80% of this data will be unstructured (complex)data</li></ul>IDC – 2008<br /><ul><li>85% of all corporate information is in unstructured (complex) forms
  15. Growth of unstructured data (61.7% CAGR) will far outpace that of transactional data</li></li></ul><li>Data Consolidation: One Place For All<br />Complex Data<br />Documents<br />Web feeds<br />System logs<br />Online forums<br />SharePoint<br />Sensor data<br />EMB archives<br />Images/Video<br />Structured Data (“relational”) <br />CRM<br />Financials<br />Logistics<br />Data Marts<br />Inventory<br />Sales records<br />HR records<br />Web Profiles<br />A single data system to enable processing across the universe of data types.<br />
  16. Data Agility: Schema on Read vs Write <br />Schema-on-Read:<br />Schema-on-Write:<br /><ul><li>Schema must be created before data is loaded.
  17. An explicit load operation has to take place which transforms the data to the internal structure of the database.
  18. New columns must be added explicitly before data for such columns can be loaded into the database.
  19. Read is Fast.
  20. Standards/Governance.
  21. Data is simply copied to the file store, no special transformation is needed.
  22. A SerDe (Serializer/Deserlizer) is applied during read time to extract the required columns.
  23. New data can start flowing anytime and will appear retroactively once the SerDe is updated to parse them.
  24. Load is Fast
  25. Evolving Schemas/Agility</li></li></ul><li>Query Language Flexibility<br /><ul><li>Java MapReduce: Gives the most flexibility and performance, but potentially long development cycle (the “assembly language” of Hadoop).
  26. Streaming MapReduce: Allows you to develop in any programming language of your choice, but slightly lower performance and less flexibility.
  27. Pig: A relatively new language out of Yahoo, suitable for batch dataflowworkloads
  28. Hive: A SQL interpreter on top of MapReduce, also includes a meta-store mapping files to their schemas and associated SerDe’s. Hive also supports User-Defined-Functions and pluggable MapReduce streaming functions in any language.</li></li></ul><li>Hive Extensible Data Types<br /><ul><li>STRUCTS:
  29. SELECT mytable.mycolumn.myfield FROM …
  30. MAPS (Hashes):
  31. SELECT mytable.mycolumn[mykey] FROM …
  32. ARRAYS:
  33. SELECT mytable.mycolumn[5] FROM …
  34. JSON:
  35. SELECT get_json_object(mycolumn,objpath)</li></li></ul><li>Data Economics (Return On Byte)<br /><ul><li> Return on Byte = value to be extracted from that byte / cost of storing that byte.
  36. If ROB is < 1 then it will be buried into tape wasteland, thus we need cheaper active storage.</li></ul>High ROB<br />Low ROB<br />
  37. Case Studies: Hadoop World ‘09<br />VISA: Large Scale Transaction Analysis<br />JP Morgan Chase: Data Processing for Financial Services<br />China Mobile: Data Mining Platform for Telecom Industry<br />Rackspace: Cross Data Center Log Processing<br />Booz Allen Hamilton: Protein Alignment using Hadoop<br />eHarmony: Matchmaking in the Hadoop Cloud<br />General Sentiment: Understanding Natural Language<br />Yahoo!: Social Graph Analysis<br />Visible Technologies: Real-Time Business Intelligence<br />Facebook: Rethinking the Data Warehouse with Hadoop and Hive<br />Slides and Videos at http://www.cloudera.com/hadoop-world-nyc<br />
  38. Cloudera Desktop for Hadoop<br />
  39. Conclusion<br />Hadoop is a scalable distributed data processing system which enables:<br />Consolidation (Structured or Not)<br />Data Agility (Evolving Schemas)<br />Query Flexibility (Any Language)<br />Economical Storage (ROB > 1)<br />
  40. Contact Information<br />AmrAwadallah<br />CTO, Cloudera Inc.<br />aaa@cloudera.com<br />http://twitter.com/awadallah<br />Online Training Videos and Info:<br />http://cloudera.com/hadoop-training<br />http://cloudera.com/blog<br />http://twitter.com/cloudera<br />
  41. MapReduce: The Programming Model<br />SELECT word, COUNT(1) FROM docs GROUP BY word;<br />cat *.txt | mapper.pl | sort | reducer.pl > out.txt<br />(docid, text)<br />(words, counts)<br />Map 1<br />(sorted words, counts)<br />Reduce 1<br />Output File 1<br />(sorted words, sum of counts)<br />Split 1<br />Be, 5<br />“To Be Or Not To Be?”<br />Be, 30<br />Be, 12<br />Reduce i<br />Output File i<br />(sorted words, sum of counts)<br />(docid, text)<br />Map i<br />Split i<br />Be, 7<br />Be, 6<br />Shuffle<br />Reduce R<br />Output File R<br />(sorted words, sum of counts)<br />(docid, text)<br />Map M<br />(sorted words, counts)<br />(words, counts)<br />Split N<br />
  42. Hadoop High-Level Architecture<br />Hadoop Client<br />Contacts Name Node for data <br />or Job Tracker to submit jobs<br />Name Node<br />Maintains mapping of file blocks <br />to data node slaves<br />Job Tracker<br />Schedules jobs across <br />task tracker slaves<br />Data Node<br />Stores and serves blocks of data<br />Task Tracker<br />Runs tasks (work units) <br />within a job<br />Share Physical Node<br />
  43. Economics of Hadoop Storage<br />Typical Hardware:<br />Two Quad Core Nehalems<br />24GB RAM<br />12 * 1TB SATA disks (JBOD mode, no need for RAID)<br />1 Gigabit Ethernet card<br />Cost/node: $5K/node<br />Effective HDFS Space:<br />¼ reserved for temp shuffle space, which leaves 9TB/node<br />3 way replication leads to 3TB effective HDFS space/node<br />But assuming 7x compression that becomes ~ 20TB/node<br />Effective Cost per user TB: $250/TB<br />Other solutions cost in the range of $5K to $100K per user TB<br />
  44. Data Engineering vs Business Intelligence<br /><ul><li>Business Intelligence:
  45. The practice of extracting business numbers to monitor and evaluate the health of the business.
  46. Humans make decisions based on these numbers to improve revenues or reduce costs.
  47. Data Engineering:
  48. The science of writing algorithms that convertdata into money  Alternatively, how to automatically transform data into new features that increase revenues or reduce costs.</li>