
Explore how to use the Java language to write programs that run on multiple machines with Hadoop, covering parallel computation concepts and the core framework.
Identify the limitations of traditional systems, contrast vertical and horizontal scaling, and explain how data transfer bottlenecks in distributed computing impede large data workloads.
Design a fault-tolerant, scalable system that preserves data when nodes fail, allows failed nodes to rejoin, yields deterministic results across runs, and minimizes data movement for large data workloads.
Hadoop overcomes distributed system limits with a shared-nothing architecture, block-based storage with three replicas, and Java-based map and reduce processing across nodes.
This overview explains hdfs as a distributed, Java-based file system that stores large files in blocks across data nodes with replication, managed by a name node and data nodes.
Describe how map reduce distributes a program across multiple machines, with map and reduce phases, shuffle and sort, and fault tolerance to count word occurrences in large text.
Explore a Hadoop cluster, focusing on installation and distributions, daemons such as name node, secondary name node, job tracker, task tracker, data node, and MapReduce processing writes results to HFS.
Explore setting up a Cloudera virtual machine with cdh using the quickstart, learn how sudo manages daemons, set a single-machine cluster, and understand replication factor basics.
Demonstrate using the virtual machine: download and decompress the file, open the GUI, select the compressed file, and launch the VM to complete installation.
Share folders between the host operating system and the virtual machine to transfer files. Add a shared folder, start the VM, and access host files from the guest.
Access HDFS using Hadoop FS commands, including put to move local files to HDFS, cat to display contents, get to copy back to local, and mkdir or mv for directories.
Wire a driver, a mapper, and a reducer, package them into a jar, and specify Shakespeare input and output paths.
Demonstrate accessing hdfs by creating dataset directories and importing sample files into three datasets, then list directories and verify successful imports.
Demonstrates running a MapReduce job in Hadoop by executing an example word count program on a dataset, monitoring progress, and reusing the same job on different inputs.
Demonstrates using the web console for HDFS to browse the file system, locate outputs in user directories, and verify word counts for a Shakespeare article.
Demonstrates using the web console to monitor MapReduce jobs, track map tasks, view job logs, and troubleshoot issues by clicking into task and log details.
Set up a three-machine Linux-based Hadoop cluster, designate a master and two slaves, assign static IPs, and connect through a dedicated switch in a standalone environment.
Explore scalable word counting using Java and Hadoop MapReduce, designing mappers and reducers to emit word counts and use shuffle, sort, and reduce for final results.
Learn to develop and run a Java MapReduce program on Hadoop by downloading the source, importing into Eclipse, compiling a jar, and executing a word count job.
Learn to perform large-scale data sorting with Java on the Hadoop framework, outlining the problem and a two-phase map and reduce design to deduplicate words across documents.
Demonstrate developing and running a Hadoop MapReduce program in Java, from Eclipse project import to configuring the driver and map-reduce classes, and executing the job with input and output paths.
Apply a Java on Hadoop approach to large-scale text search, detailing input files, mappers, reducers, and key-value pairs to drive the shuffle and reduce phases.
Demonstrates developing and running a Hadoop MapReduce search program in Java using Eclipse, including mapper and reducer setup, job configuration, packaging, and execution.
Describe a MapReduce design for counting co-occurrences of two consecutive words across documents using Java on Hadoop, with mappers, shuffle, and reducers handling key-value pairs.
Demonstrate developing and running a Hadoop MapReduce job by importing a sample project into Eclipse, configuring the driver, mapper, and reducer, exporting to Java, and viewing outputs.
Explore a MapReduce style design to build an index for large document sets by mapping file offsets to lines, shuffling intermediate data, and reducing to key-value results.
Demonstrates importing a Hadoop MapReduce project into Eclipse, configuring the driver, mapper, and reducer, and exporting a jar to run the inverted index job on a cluster.
Build your essential knowledge with this hands-on, introductory course on the Java parallel computation using the popular Hadoop framework:
- Getting Started with Hadoop
- HDFS working mechanism
- MapReduce working mecahnism
- An anatomy of the Hadoop cluster
- Hadoop VM in pseudo-distributed mode
- Hadoop VM in distributed mode
- Elaborated examples in using MapReduce
Learn the Widely-Used Hadoop Framework
Apache Hadoop is an open-source software framework for storage and large-scale processing of data-sets on clusters of commodity hardware. Hadoop is an Apache top-level project being built and used by a global community of contributors and users. It is licensed under the Apache License 2.0.
All the modules in Hadoop are designed with a fundamental assumption that hardware failures (of individual machines, or racks of machines) are common and thus should be automatically handled in software by the framework. Apache Hadoop's MapReduce and HDFS components originally derived respectively from Google's MapReduce and Google File System (GFS) papers.
Who are using Hadoop for data-driven applications?
You will be surprised to know that many companies have adopted to use Hadoop already. Companies like Alibaba, Ebay, Facebook, LinkedIn, Yahoo! is using this proven technology to harvest its data, discover insights and empower their different applications!
Contents and Overview
As a software developer, you might have encountered the situation that your program takes too much time to run against large amount of data. If you are looking for a way to scale out your data processing, this is the course designed for you. This course is designed to build your knowledge and use of Hadoop framework through modules covering the following:
- Background about parallel computation
- Limitations of parallel computation before Hadoop
- Problems solved by Hadoop
- Core projects under Hadoop - HDFS and MapReduce
- How HDFS works
- How MapReduce works
- How a cluster works
- How to leverage the VM for Hadoop learning and testing
- How the starter program works
- How the data sorting works
- How the pattern searching
- How the word co-occurrence
- How the inverted index works
- How the data aggregation works
- All the examples are blended with full source code and elaborations
Come and join us! With this structured course, you can learn this prevalent technology in handling Big Data.