Hadoop生态系统与大数据处理实战

5星 · 超过95%的资源 需积分: 9 15 下载量 64 浏览量 更新于2024-07-23 收藏 8.46MB PDF 举报
"Hadoop权威指南(第三版英文)" 是一本由Tom White编写的关于Hadoop技术的详尽指南。本书涵盖了Hadoop的核心组件,包括Hadoop分布式文件系统(HDFS)和MapReduce,以及Hadoop生态系统中的其他关键工具,如Sqoop、Pig、Hive和HBase等。 在Hadoop的MapReduce部分,作者介绍了如何使用MapReduce进行分布式计算。通过一个天气数据集的例子,读者可以理解数据格式和如何使用Unix工具进行分析。MapReduce的基本原理被详细阐述,包括Map和Reduce阶段,以及如何编写Java MapReduce程序。此外,还讨论了如何扩展MapReduce以适应大规模数据,并介绍了数据流的走向以及Combiner函数的角色。此外,书中还介绍了使用Hadoop Streaming执行MapReduce任务,支持使用Ruby和Python等脚本语言。 在Hadoop Distributed File System (HDFS)章节,Tom White深入解析了HDFS的设计理念,包括其概念、架构和操作流程。他解释了HDFS如何为大数据存储提供高容错性和可伸缩性,讨论了数据块、NameNode和DataNode的角色,以及如何处理数据完整性、故障恢复和数据压缩。 书中的其他部分涉及了如何构建和管理Hadoop集群,无论是本地部署还是在云端运行。 Sqoop的使用使得从关系型数据库导入数据到HDFS变得简单,而Pig查询语言则提供了处理大规模数据的高级抽象。Hadoop的数据仓库系统Hive被介绍为用于数据分析的工具,它允许用户使用SQL-like语法来查询和处理数据集。对于结构化和半结构化数据的处理,HBase作为NoSQL数据库被详细讲解,而ZooKeeper作为分布式协调服务,对于构建可靠的分布式系统至关重要。 这本书是Hadoop学习者的宝贵资源,涵盖了从基础到高级的各种主题,旨在帮助读者理解和应用Hadoop及其生态系统中的工具,以解决大数据的存储、处理和分析问题。
2013-10-24 上传
hadoop权威指南第三版(英文版)。 Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv 1. Meet Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Data! Data Storage and Analysis Comparison with Other Systems RDBMS Grid Computing Volunteer Computing A Brief History of Hadoop Apache Hadoop and the Hadoop Ecosystem Hadoop Releases What’s Covered in this Book Compatibility 2. MapReduce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 A Weather Dataset Data Format Analyzing the Data with Unix Tools Analyzing the Data with Hadoop Map and Reduce Java MapReduce Scaling Out Data Flow Combiner Functions Running a Distributed MapReduce Job Hadoop Streaming Ruby Python iii Hadoop Pipes Compiling and Running 3. The Hadoop Distributed Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 The Design of HDFS HDFS Concepts Blocks Namenodes and Datanodes HDFS Federation HDFS High-Availability The Command-Line Interface Basic Filesystem Operations Hadoop Filesystems Interfaces The Java Interface Reading Data from a Hadoop URL Reading Data Using the FileSystem API Writing Data Directories Querying the Filesystem Deleting Data Data Flow Anatomy of a File Read Anatomy of a File Write Coherency Model Parallel Copying with distcp Keeping an HDFS Cluster Balanced Hadoop Archives Using Hadoop Archives Limitations 4. Hadoop I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Data Integrity Data Integrity in HDFS LocalFileSystem ChecksumFileSystem Compression Codecs Compression and Input Splits Using Compression in MapReduce Serialization The Writable Interface Writable Classes iv | Table of Contents Implementing a Custom Writable Serialization Frameworks Avro File-Based Data Structures SequenceFile MapFile 5. Developing a MapReduce Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 The Configuration API Combining Resources Variable Expansion Configuring the Development Environment Managing Configuration GenericOptionsParser, Tool, and ToolRunner Writing a Unit Test Mapper Reducer Running Locally on Test Data Running a Job in a Local Job Runner Testing the Driver Running on a Cluster Packaging Launching a Job The MapReduce Web UI Retrieving the Results Debugging a Job Hadoop Logs Remote Debugging Tuning a Job Profiling Tasks MapReduce Workflows Decomposing a Problem into MapReduce Jobs JobControl Apache Oozie 6. How MapReduce Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Anatomy of a MapReduce Job Run Classic MapReduce (MapReduce 1) YARN (MapReduce 2) Failures Failures in Classic MapReduce Failures in YARN Job Scheduling Table of Contents | v The Fair Scheduler The Capacity Scheduler Shuffle and Sort The Map Side The Reduce Side Configuration Tuning Task Execution The Task Execution Environment Speculative Execution Output Committers Task JVM Reuse Skipping Bad Records 7. MapReduce Types and Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 MapReduce Types The Default MapReduce Job Input Formats Input Splits and Records Text Input Binary Input Multiple Inputs Database Input (and Output) Output Formats Text Output Binary Output Multiple Outputs Lazy Output Database Output