
We start with an introduction to the course, the instructors and what lies ahead for you.
Distributed computing is really exciting, but was a really hard problem before the Hadoop ecosystem evolved.
Let's get started by Installing HBase. Get a taste of whats to come, start HBase, create a table and insert some data.
Please use the attached text file for copying any commands that are shown on the screen.
HBase is a database built for the Hadoop ecosystem. Before we get there, let's get a quick understanding of the Hadoop ecosystem.
Hadoop has limitations that make HBase a necessary part of the Hadoop ecosystem
HBase is a database - but its quite different from a traditional RDBMS. Get a quick overview of the differences before we dig deeper in future videos.
See how column oriented storage and denormalization make HBase's data model quite different from a traditional database.
HBase supports a limited set of operations - Create, Read, Update and Delete
HBase is a database solution in the Hadoop ecosystem, so it seems is Hive. What makes them different?
If you are unfamiliar with softwares that require working with a shell/command line environment, this video will be helpful for you. It explains how to update the PATH environment variable, which is needed to set up most Linux/Mac shell based softwares.
Insert data into an HBase base table using the space shell and put command, adding one cell per row and column, such as attributes:user with value Chaz.
Update a row in HBase with the put command to create or modify a row and its open column, preserving history with timestamps; get returns the latest version.
Use the get command to retrieve all columns for a row id in HBase by default. Fetch specific columns or cells, and view the row–column family–cell hierarchy with timestamps.
Delete operations remove data from a base table using the delete command in the base shell, illustrating single-cell deletes and removal of a row when all columns are cleared.
Delete a table in the space shell by disabling it to flush changes to disk, then run the drop command and verify removal with the list command.
Insert or update a single row in an HBase table using the Java Put object, by specifying row id, column family, column, and value as byte arrays.
Insert multiple rows in HBase by batching puts: create a list of put objects for two row IDs, add columns, and execute a bulk put on the edge table.
Demonstrates retrieving a single row from HBase using the Java get object: specify row id, column family, and column, connect to the table, and read values from the result map.
Fetch data for multiple row IDs with a list of get objects, specifying column families and column names as byte arrays, then call the table's get method.
Delete a value from a single row in hbase by using the delete class with a row id and column family and column, then call edge table's delete method.
Perform scan operations to retrieve a range of rows by row IDs using a scan object and result scanner; customize to return all data or specific columns.
Explore how the edge-based HBase architecture, inspired by Google Bigtable, stores data as data points in a column-oriented nested map with region servers, memstore, write-ahead logs, and HFile on HDFS.
Explore how to retrieve data by applying a filter in HBase, using scans with start and stop rows and a row filter with equals operators and binary comparator.
Use a single column value filter on a scan to select row IDs whose user column equals a value, returning all columns for matching rows.
Apply multiple conditions by using a filter list to combine two single column value filters, selecting row IDs where for_user equals Daniel and type equals friend request.
Learn to increment metrics atomically in HBase using counters, replacing read-modify-write with a single increment operation that handles views, opens, and clicks for a row.
Use MapReduce for complex data processing tasks. See how to set up a MapReduce task to count Notifications by type
Implement the MapReduce task to summarize Notifications by type in Java.
See how to run a MapReduce task using the Java JAR.
Set up a class hierarchy to represent different types of user notifications for a social network
Use a Notifications Manager to manage tasks such as adding notifications and retrieving notifications for a specific user
Hadoop has 3 different install modes - Standalone, Pseudo-distributed and Fully Distributed. Get an overview of when to use each
How to set up Hadoop in the standalone mode. Windows users need to install a Virtual Linux instance before this video.
Set up Hadoop in the Pseudo-Distributed mode. All Hadoop services will be up and running!
Hadoop is basically for Linux/Unix systems. If you are on Windows, you can set up a Linux Virtual Machine on your computer and use that for the install.
Prerequisites: Working with HBase requires knowledge of Java
Taught by a team which includes 2 Stanford-educated, ex-Googlers and 2 ex-Flipkart Lead Analysts. This team has decades of practical experience in working with large-scale data processing jobs.
Relational Databases are so stuffy and old! Welcome to HBase - a database solution for a new age.
HBase: Do you feel like your relational database is not giving you the flexibility you need anymore? Column oriented storage, no fixed schema and low latency make HBase a great choice for the dynamically changing needs of your applications.
What's Covered:
25 solved examples covering all aspects of working with data in HBase
CRUD operations in the shell and with the Java API, Filters, Counters, MapReduce
Implement your own notification service for a social network using HBase
HBase and it’s role in the Hadoop ecosystem, HBase architecture and what makes HBase different from RDBMS and other Hadoop technologies like Hive.