Fundamentals
- Name (Who are you?)
- Rank (What, exactly, would you say you do here?)
- Tenure (How long you been around these parts?)
- A Rackspace Moment (Tell me a great RS memory!)
Introductions
Learning Objectives
- Explain what big data is
- Cite big data use cases
- Give an overview of Hadoop
- Recognize and explain the Hadoop ecosystem
- Describe Rackspace’s Cloud Big Data Platform
Big Data
Definition of Big Data
Estimated 1.5 terabytes of compressed data is produced daily.
Twitter messages are 140 bytes each generating 8TB data per day.
A Boeing 737 will generate 240 terabytes of flight data during a single flight across the US
Facebook has around 50 PB warehouse and it’s constantly growing.
Why invest time and money into Big Data?
IDC is predicting the big data market is expected to grow about 32% a year to $23.8 billion in 2016
The market for analytics software is predicted to reach $51 billion by 2016
Mind Commerce estimates global spending on big data will grow 48% between 2014 and 2019
Big data revenue will reach $135 billion by the end of 2019
Most Common Types of Data
Big Data Technologies
Big Data Short Video
Top ten Big Data Insights at Rackspace
10 Minute Video
What is Big Data to Rackspace?
7 Minutes
Hadoop
What is Hadoop?
The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models.
It is designed to scale up from single servers to thousands of machines, each offering local computation and storage.
Evolution of Hadoop
Traditional Systems vs. Hadoop
Facts about Hadoop
Apache Hadoop Framework
Hadoop Configuration
Name Nodes - is the centerpiece of a HDFS file system. It keeps a directory tree of all files in the file system, and tracks data location within the cluster. It does not store the data, it only keeps track of where it lives.
Gateway Node - Gateway Nodes are the interface between the cluster and outside network. They are also used to run client applications, and cluster administration services, as well as serving a staging area for data ingestion.
Data Nodes - These are the nodes where the data lives, and where the processing occurs. They are also referred to as “slave nodes”.
Hadoop Configuration
Hadoop Cluster
Hadoop Cluster
Master Servers manager the infrastructure
Hadoop Cluster
Hadoop at Rackspace
Cloud Big Data Architecture
Managed/Dedicated Big Data Architecture
Test your Knowledge
Is Hadoop a data store?
No. While you can technically store data in a Hadoop Cluster, it is really more of a data processing system, than a true data store.
Then what is a data store?
A data store is a data repository including a set of integrated objects. These objects are modeled using classes defined in database schemas. Examples of typical data stores, MySQL, PostgreSQL, Redis, MongoDB
What is Data Processing?
Think of Data Processing as the collection and manipulation of items of data to produce meaningful information. In the case of Hadoop, this means taking unstructured, unusable data, and processing it in a way that makes it useful or meaningful
Hadoop Ecosystem
V1
Hadoop Ecosystem
V2
Data Architecture
Data Architecture
Data Architecture
Data Architecture
Hadoop
Hadoop
Hadoop
Hadoop
Hadoop
Hadoop
Hadoop
Hadoop Ecosystem
- Framework for data processing.
- Allows multiple data processing engines to use Hadoop as the common standard for batch, interactive and real-time engines that can simultaneously access the same data set.
YARN Architecture
YARN Use Case
- At one point Yahoo! had 40k+ nodes spanning multiple datacenters – 365PB+ of data
- YARN provided a compute framework that allowed higher utilization of nodes
- 100% utilization (while being efficient) is always a good thing
- Yahoo! was able to bring down an entire datacenter of about 10k Nodes
Source: Hortonworks
- Java-based distributed file system.
- Stores large volumes of unstructured data and spans across large clusters of commodity servers.
- Works closely with MapReduce.
HDFS Architecture
- Framework for writing applications that process large amounts of structured and unstructured data.
- Designed to run batch jobs that address every file in the system.
- Splits a large data set into independent chunks and organizes them into key, value pairs for parallel processing.
MapReduce Architecture
Alternative to the traditional batch map/reduce model that can be used for real-time stream data processing and fast interactive queries that finish within seconds.
MapReduce writes results to disk.
Spark holds intermediate results in memory.
MapReduce supports map and reduce functions.
Spark supports more than just map and reduce functions.
Allows you to write complex MapReduce transformations using a simple scripting language called "Pig Latin". It's made of two components:
- Pig Latin (the language) defines a set of transformations on a data set such as aggregate, join and sort.
- Compiler to translate Pig Latin to MapReduce so it can be executed within Hadoop.
Pig
- Used to explore, structure and analyze large datasets stored in Hadoop's HDFS.
- Provides an SQL-like language called HiveQL with schema on read and converts queries to map/reduce jobs.
Hive Architecture
Hive
- Part of the Spark computing framework.
- Allows relational queries expressed in SQL, HiveQL, or Scala to be executed using Spark.
- Used for real-time, in-memory, parallelized processing of Hadoop data.
Spark SQL
Spark SQL Use Cases
- Extensible framework for building YARN based, high performance batch and interactive data processing applications.
- It allows applications to span the scalability dimension from GB’s to PB’s of data and 10’s to 1000’s of nodes.
TEZ
Using Tez to create Hadoop applications that integrate with YARN
TEZ
By allowing projects like Apache Hive and Apache Pig to run a complex DAG of tasks, Tez can be used to process data, that earlier took multiple MR jobs, now in a single Tez job as shown above.
Column oriented database that allows reading and writing of data to HDFS on a real-time basis.
- Designed to run on a cluster of dozens to possibly thousands or more servers.
- Modeled after Google's Bigtable
- EBay and Facebook use HBase heavily.
When to use HBase?
- When you need random, realtime read/write access to your Big Data.
- When hosting very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware.
HBase 101 Architecture
- Distributed real-time computation system for processing fast, large streams of data.
- With Storm and MapReduce running together in Hadoop on YARN, a Hadoop cluster can efficiently process a full range of workloads from real-time to interactive to batch.
Storm Characteristics
Storm
Enterprises use Storm to prevent certain outcomes or to optimize their objectives. Here are some “prevent” and “optimize” use cases.
Storm
- Part of the Spark computing framework.
- Easy and fast real-time stream processing.
- Provides a high-level abstraction called discretized stream or DStream, which represents a continuous stream of data.
Spark Characteristics
Spark
Spark
Command-line interface application used to transfer data to and from Hadoop to any RDMS.
Sqoop: Importing to Hive
Application that collects, aggregates, and moves large amounts of streaming data into the Hadoop Distributed File System (HDFS).
Flume
Flume
Agents consist of three pluggable components: sources, sinks, and channels. An agent must have at least one of each in order to run.
Operational framework for provisioning, managing and monitoring Apache Hadoop clusters.
Ambari Dashboard
Provides configuration service, synchronization service, and naming registry for software in the Hadoop ecosystem.
Zookeeper Benefits
- Searches data stored in HDFS in Hadoop.
- Powers the search and navigation features of many of the world’s largest Internet sites, enabling powerful full-text search and near real-time indexing.
Solr Features
- Near real-time indexing
- Advanced full-text search
- Comprehensive HTML administration interfaces
- Flexible and adaptable, with XML configuration
- Server statistics exposed over JMX for monitoring
- Standards-based open interfaces like XML, JSON and HTTP
- Linearly scalable, auto index replication, auto failover and recovery
An open-source Web interface that supports Apache Hadoop and its ecosystem.
Hue
- Workflow scheduler system to manage Apache Hadoop jobs.
- There are two basic types of Oozie jobs:
Oozie Architecture
Framework that simplifies data management by allowing users to easily configure and manage data migration, disaster recovery and data retention workflows.
Falcon Architecture
- Provides a single access point for Hadoop services in a cluster.
- Knox runs as a server (or cluster of servers) that serve one or more Hadoop clusters.
Knox Advantages
Knox Architecture
Let's take another look at the ecosystem
Find a use case for your group's assigned component
Hadoop Ecosystem
Hadoop Use Cases
Sentiment Data
Data collected from social media platforms ranging from Twitter, to Facebook, to blogs, to a never-ending array websites with comment sections and other ways to socially interact on the Internet.
Sentiment Data
Sensor/Machine Data
Data collected from sensors that monitor and track very specific things, such as temperature, speed, location
Sensor Data
HVAC
Geographic Data
Geolocation data gives organizations the ability to track every moving aspect of their business, be they objects or individuals.
Geographic Data
Clickstream Data
Stream of clicks that a user takes as they path through a website.
- Path Optimization
- Basket Analysis
- Next Product to Buy Analysis
- Allocation of Website Resources
- Granular Customer Segmentation
Clickstream Data
Server Log Data
Server log data is for security analysis on a network.
Server Log Data
Unstructured Video
Data from non-text-based things; that includes both images and also video.
Unstructured Video
Unstructured Text
Data collected from free-flowing text sources such as documents, emails, and tweets.
Unstructured Text
Rackspace Use Case
Analytics Compute Grid
- Analytics Compute Grid is a data analysis project
- Rackspace uses Hadoop along with other big data technologies to understand customer patterns and identify trends.
- This allows us to be better at delivering fanatical support to our customers using multiple data sources and systems.
Rackspace Analytics Compute Grid
Big Data: After Re-Architecting for Private Cloud
Popular Companies Leveraging Hadoop
Data Refinement...Distilling large qualities of structured and unstructured data for use in a traditional DW, e.g.: "sessionizatiuon" of weblogs
Data Exploration across unstructured content on millions of customer satisfaction surveys to determine sentiment.
Application Enrichment provides recommendations and personalized experience to website for each unique visitor.
Use Case by Industry
Financial Services
Telecom
Retail
Manufacturing
Healthcare
Oil and Gas
Pharmaceutical
Rackspace Big Data Platform
Managed and Cloud Big Data
Big Data Platform
Managed Big Data Platform
Cloud Big Data Platform
Cloud Big Data
Supporting Hosting Environments
Hybrid Cloud
Hortonworks Data Platform
Rackspace Cloud Control
Building a CBD Cluster
In the mycloud portal, select Big Data from the Databases menu:
Click on Create Cluster:
Set the cluster name, select a region and set the SSH username and SSH key:
Select the Stack by clicking on Build from Predefined Stack link.
For the purpose of this exercise, use HDP 2.3 with all services:
Add the Rackspace Cloud API key in order to access Cloud Files from Hadoop:
The username and the key can be found on the mycloud portal under the Account Settings menu:
CBD Stacks
Hadoop HDP 2.3
- Includes:
- HDFS, YARN, MapReduce, Hive, Pig, Sqoop, Oozie, Flume, Zookeeper, Hue
- Use cases:
- Core batch processing systems (MapReduce workloads), interactive querying with Hive, Pig scripting (good for ETL and data validation), workflow scheduling, log aggregation/collection and a GUI for Hadoop
Hadoop HDP 2.3 with all services
- Includes:
- HDFS, YARN, MapReduce, Hive, Pig, Sqoop, Oozie, Flume, Storm, Kafka, Zookeeper, Falcon, Hue
- Use cases:
- Same as Hadoop HDP 2.3 plus a distributed message queuing system (Kafka), data lifecycle management (Falcon) and real-time stream processing (Storm)
Kafka HDP 2.3
- Includes:
- HDFS, Kafka, Zookeeper
- Use cases:
- An individual Kafka stack serving as a distributed message queuing system
Spark HDP 2.3
- Includes:
- HDFS, YARN, MapReduce, Hive, Pig, Oozie, Zookeeper, Spark, Hue
- Use cases:
- Spark on Yarn supporting both fast batch and real-time processing. It also includes the core batch processing systems (MapReduce), interactive querying with Hive, Pig scripting (good for ETL and data validation), workflow scheduling and a GUI for Hadoop
Storm + Kafka HDP 2.3
- Includes:
- HDFS, YARN, MapReduce, Hive, Storm, Kafka, Zookeeper, Hue
- Use cases:
- Focused on real-time stream processing with Storm/Kafka but also includes the core batch processing systems (MapReduce), interactive querying with Hive and a GUI for Hadoop
Spark-Tachyon 1.5
- Includes:
- HDFS, Spark, Tachyon, Zookeeper, Zeppelin
- Use cases:
- Spark standalone supporting both fast batch and real-time processing with an in-memory filesystem, plus interactive data analytics and data visualization
Cloud Big Data with RackConnect v3
RackConnect v3
- Uses Cloud Networks which can be consumed between dedicated-cloud accounts, as well connected between cloud accounts
- layer 3 routing
- No in-instance automation needed
- like it was on RCv2
CBD on RackConnect v3
- As of October, 2015 Cloud Big Data builds are compatible with RCv3
Deploying CBD on RackConnect v3
- Customer request for a RCv3 CBD cluster lands with the CDE team. CDE team communicates with RC DevOps team to set it up
- Tasks:
- nexthop information is gathered (RC Devops team)
- Cloud Network is created via lava-admin client. (CDE Team)
- When Rackconnect automation to complete, NSX GW attachment is moved to the Cloud Network created by CDE team (RC DevOps)
- Cloud Network is enabled for the tenant by using lava-admin client (CDE Team)
- Cluster is created using lava-admin client (CDE Team)
- Cluster is validated and handed over to the customer to consume (CDE Team)
- Kafka is a scalable, durable, and fault-tolerant publish-subscribe messaging system
- It's system design can be thought of as that of a distributed commit log, where incoming data is written sequentially to disk.
- Framework that monitors and manage data security across the hadoop platform
- In the Ranger console, you can create policies for access to files, folders, databases, tables and columns on a user/group basis
Hadoop Fundamentals 2016
By Rackspace University
Hadoop Fundamentals 2016
- 1,187