Big Data Course Highlights
The Big Data course will start with the basics of Linux which are required to get started with Big Data and then slowly progress from some of the basics of
Hadoop/Big Data (like a Word Count program) to some of the advanced concepts around Hadoop/Big Data (like writing triggers/stored procedures to HBase).
The main focus of the course will be on how to use the Big Data tools, but we will also focus on how to install and configure some of the Big Data related
frameworks on in-premise and cloud based infrastructure.
Because of the hype Hadoop is the news all the time. But, there are a lot of frameworks supporting Hadoop (like Pig/Hive) and a lot of frameworks which are alternatives to Hadoop (like Twitter Storm and LinkedIn Samza) to address the limitations of the MapReduce model. Some of these frameworks will also be discussed during the course to give a big picture of what Big Data is about.
Also, time will be spent on NoSQL databases. Starting with why NoSQL instead of RDBMS databases to some of advanced concepts like importing data in bulk from a RDBMS to a NoSQL database. Different NoSQL databases will be compared and HBase will be discussed in much more detail.
A VM (Virtual Machine) will be provided for all the participants with Big Data frameworks (Hadoop etc.) installed and configured on CentOS with data sets and code to process the same. The VM helps in making the Big Data learning
experience less steeper.
The training will help the participant get through the Cloudera Certified Developer for Apache Hadoop (CCDH) certification with minimal effort.
Pre-Requisites:
Knowledge of Java is a definitive plus to get started with Big Data, but not mandatory. Hadoop provides streaming which allows programming MapReduce in non-Java languages like Perl, Python and there are also higher level abstracts like Hive/Pig which provides SQL like procedure type interface.
Similarly knowledge of Linux would be a definitive plus but the basics of Linux just enough to get started with the different Big data frameworks.
A laptop/desktop with minimum of 3GB RAM, 10 GB free HARD Disk and with a decent processor. These specifications would be enough to run the Big Data VM and the framework smoothly.
Who should Plan on joining this program
Audience:
This course is designed for anyone who is
Any Developer with skills in other technologies interested in getting into the emerging Big Data field.
Any Data Analyst who would like to enhance/transfer their existing knowledge to the Big Data space.
Any Architect who would like to design application in conjunction to Big Data or Big Data applications itself.
Anyone involved in Software Quality Assurance (Testing). Knowledge of Hadoop will help them to test the application better and will also help them to move into the development cycle.
Topics covered in the training
Understanding Big Data Understanding Big Data
- 3V (Volume-Variety-Velocity) characteristics - Structured and Unstructured Data
- Application and use cases of Big Data Limitations of traditional large Scale systems
How a distributed way of computing is superior (cost and scale) Opportunities and challenges with Big Data
HDFS (The Hadoop Distributed File System) HDFS Overview and Architecture
Deployment Architecture
Name Node, Data Node and Checkpoint Node (aka Secondary Name Node)
Safe mode
Configuration files
HDFS Data Flows (Read vs Write) How HDFS addresses fault tolerance?
CRC Check Sum
Data replication
Rack awareness and Block placement policy
Small files problem
HDFS Interfaces
Web Interface
Command Line Interface
File System
Administrative
Advanced HDFS features
Load Balancer
DistCP
HDFS High Availability
Hadoop Cache MapReduce - 1
MapReduce Overview
Functional Programming paradigms
How to think in a MapReduce way?
MapReduce Architecture
Legacy MR vs Next Generation MapReduce (YARN)
Slots vs Containers
Schedulers
Shuffling, Sorting
Hadoop Data types
Input and Output formats
Input Splits
Partitioning (Hash Partitioner vs Custom Partitioner)
Counters
Configuration files
Distributed Cache MapReduce – 2
Developing, debugging and deploying MR programs
Standalone mode(Eclipse)
Pseudo distributed mode (as in the Big Data VM)
Fully Distributed Mode MR API
Old and new MR API
Java Client API
Overview of MRUnit
Hadoop Data types and custom writables/writable comparables
Different input and output formats
Saving Binary Data using Sequence Files and Avro Files Optimizing techniques
Speculative execution
Combiners
Compression MR algorithms
Sorting (Max Temperature)
Different ways of joining data
Inverted Index
Word co-occurrence Pig
Introduction to PIG
Why PIG not MapReduce
Pig Components
Pig Execution Modes
Pig Shell - Grunt
Pig Latin, Writing PIG Latin scripts
Pig Data Types
Storage Types
Diagnosing Pig commands
Macros
UDF and External Scripts Hive
Introduction and Architecture
Different modes of executing Hive queries
Metastore implementations
HiveQL (DDL & DML operations)
External vs Internal Tables
Views
Partitions & Buckets
UDF
Comparison of Pig and Hive Flume
Overview of Flume
Where is Flume used - import/export unstructured data
Flume Architecture
Using Flume to load data into HDFS Sqoop
Overview of Sqoop
Where is Sqoop used - import/export structured data
Using Sqoop to import data from RDBMS into HDFS
Using Sqoop to import data from RDBMS into HBASE
Using Sqoop to export data from HDFS into RDMBS
Sqoop connectors Impala
Overview of Impala
Architecture of Impala
NoSQL Databases
Introduction to NoSQL database
Types of NoSQL databases and their features
Brewers CAP Theorem
Advantage of NoSQL vs. traditional RDBMS
ACID vs BASE
Different types of NoSQL databases
Key value
Columnar
Document
Graph
HBase
Introduction to HBase
Why use HBase
HBase Architecture - read and write paths
HBase vs. RDBMS
Installing and Configuration
Schema design in HBase - column families, hot spotting
Accessing data with HBase Shell
Accessing data with HBase API - Reading, Adding, Updating data from the shell, JAVA API
HBase Coprocessors (Endpoints, Observers)
POC
Click stream analysis
Analyzing the Twitter data with Hive