This engaging hands-on course introduces HBase, a NoSQL store on top of Hadoop. The course is intended for developers who will be using HBase to develop applications as well as administrators who will manage HBase clusters.

The instructor will walk participants through HBase architecture, data modeling and application development on HBase. Other subjects covered include using MapReduce with HBase and administration topics related to performance optimization. A significant portion of class time will be dedicated to interactive labs.

Audience: This course is intended for developers and administrators.
Course Duration: 3 Days

Participants should be comfortable with the Java programming language (i.e., navigating Linux command line, editing files with vi / nano, etc.).

Hardware and Software Requirements:

A working HBase cluster will be provided for students (no need to install HBase software on students’machines). However, participants will need the following:

  • An SSH client
  • A browser to access the cluster
  • A Java IDE like Eclipse or IntelliJ
Course Outline:
  • Introduction to Big Data and NoSQL
    • Big Data Ecosystem
    • NoSQL Overview
    • CAP Theorem
    • When is NoSQL Appropriate?
    • Columnar Storage
    • HBase and NoSQL
  • HBase Intro
    • Concepts and Design
    • Architecture (HMaster and Region Server)
    • Data integrity
    • HBase Ecosystem
    • Lab: Exploring HBase
  • HBase Data Model
    • Namespaces, Tables and Regions
    • Rows, Columns, Column Families, Versions
    • HBase Shell and Admin commands
    • Lab
  • Accessing HBase Using Java API
    • Introduction to Java API
    • Read / Write Path
    • Time Series Data
    • Scans
    • Map Reduce
    • Filters
    • Counters
    • Co-processors
    • Labs (multiple)
  • HBase Schema Design (Group Session)
    • Students Are Presented with Real World Use Cases
    • Students Work in Groups to Produce Design Solutions
    • Discuss, Critique and Learn from Multiple Designs
  • HBase Internals
    • Understanding HBase Under the Hood
    • Memfile / HFile / WAL
    • HDFS Storage
    • Compactions
    • Splits
    • Bloom Filters
    • Caches
    • Diagnostics
  • HBase Installation and Configuration
    • Hardware Selection
    • Install Methods
    • Common Configurations
    • Lab: Installing HBase
  • HBase Ecosystem
    • Developing Applications Using HBase
    • Interacting with Other Hadoop Stack (MapReduce, Pig, Hive)
    • Frameworks Around HBase
    • Advanced Concepts (Co-processors)
  • Monitoring and Best Practices
    • Monitoring Tools and Practices
    • Optimizing HBase
    • HBase in the Cloud