Hadoop学习

① 关于Hadoop
Hadoop 内容重点:

  • Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
  • Hadoop 由许多元素构成。其最底部是 Hadoop Distributed File System(HDFS),它存储 Hadoop 集群中所有存储节点上的文件。HDFS(对于本文)的上一层是MapReduce 引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。
  • HDFS 的架构是基于一组特定的节点构建的,这些节点包括 NameNode(仅一个),它在 HDFS 内部提供元数据服务DataNode,它为 HDFS 提供存储块。由于仅存在一个 NameNode,因此这是 HDFS 的一个缺点(单点故障)。
  • HDFS 并不是一个万能的文件系统。它的主要目的是支持以流的形式访问写入的大型文件

这里提供一个示例,帮助您理解它。假设输入域是 one small step for man,one giant leap for mankind。在这个域上运行 Map 函数将得出以下的键/值对列表:
(one,1) (small,1) (step,1) (for,1) (man,1) (one,1) (giant,1) (leap,1) (for,1) (mankind,1)
如果对这个键/值对列表应用Reduce 函数,将得到以下一组键/值对:
(one,2) (small,1) (step,1) (for,2)(man,1)(giant,1) (leap,1) (mankind,1)

  • Hadoop Common: 在0.20及以前的版本中,包含HDFS、MapReduce和其他项目公共内容,从0.21开始HDFS和MapReduce被分离为独立的子项目,其余内容为Hadoop Common。
  • HDFS: Hadoop分布式文件系统(Distributed File System) - HDFS (Hadoop Distributed File System)
  • MapReduce: 并行计算框架,0.20前使用 org.apache.hadoop.mapred 旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API
  • HBase: 类似Google BigTable的分布式NoSQL列数据库。(HBase和Avro已经于2010年5月成为顶级 Apache 项目)
  • Hive: 数据仓库工具,由Facebook贡献。
  • Zookeeper: 分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。
  • Avro: 新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。
  • Pig: 大数据分析平台,为用户提供多种接口。
  • Ambari: Hadoop管理工具,可以快捷的监控、部署、管理集群。
  • Sqoop: 于在HADOOP与传统的数据库间进行数据的传递。

Hadoop-What is it and why it matters? 重点内容:

  • The modest cost of commodity hardware makes Hadoop useful for storing and combining data such as transactional, social media, sensor, machine, scientific, click streams, etc.
  • How It Works and a Hadoop Glossary :Currently, four core modules are included in the basic framework from the Apache Foundation

hadoop框架 hbase hadoop框架的缺陷不包括_hadoop


Hadoop初探之Hadoop生态圈Hadoop生态圈介绍


② 关于MapReduce

MapReduceHadoop MapReduce原理及实例


③ 关于Hive
hive (数据仓库工具)APACHE HIVE TMHive(一):架构及知识体系

hadoop框架 hbase hadoop框架的缺陷不包括_hadoop_02


④ 关于Hbase
HBaseWelcome to Apache HBase™HBase 深入浅出

Hive 适合用来对一段时间内的数据进行分析查询,例如,用来计算趋势或者网站的日志。Hive 不应该用来进行实时的查询(Hive 的设计目的,也不是支持实时的查询)。因为它需要很长时间才可以返回结果;HBase 则非常适合用来进行大数据的实时查询,例如 Facebook 用 HBase 进行消息和实时的分析。



⑥ 关于Saprk

Introduction to Apache Spark

Apache Spark is an open-source, distributed processing system used for big data workloads. It utilizes in-memory caching, and optimized query execution for fast analytic queries against data of any size. It provides development APIs in Java, Scala, Python and R, and supports code reuse across multiple workloads—batch processing, interactive queries, real-time analytics, machine learning, and graph processing. You’ll find it used by organizations from any industry, including at FINRA, Yelp, Zillow, DataXu, Urban Institute, and CrowdStrike. Apache Spark has become one of the most popular big data distributed processing framework with 365,000 meetup members in 2017.
Apache Spark是一款用于大数据工作负载的开源分布式处理系统。它利用内存中的缓存,并优化了查询执行,以针对任何规模的数据进行快速分析查询。它提供Java,Scala,Python和R中的开发API,并支持多个工作负载间的代码重用 - 批处理,交互式查询,实时分析,机器学习和图形处理。您会发现它被任何行业的组织使用,包括FINRA,Yelp,Zillow,DataXu,Urban Institute和CrowdStrike。 2017年,Apache Spark已成为最受欢迎的大数据分布式处理框架之一,拥有365,000名会员。