Book description
A practical guide to implementing your enterprise data lake using Lambda Architecture as the base
About This Book
Build a full-fledged data lake for your organization with popular big data technologies using the Lambda architecture as the base
Delve into the big data technologies required to meet modern day business strategies
A highly practical guide to implementing enterprise data lakes with lots of examples and real-world use-cases
Who This Book Is For
Java developers and architects who would like to implement a data lake for their enterprise will find this book useful. If you want to get hands-on experience with the Lambda Architecture and big data technologies by implementing a practical solution using these technologies, this book will also help you.
What You Will Learn
Build an enterprise-level data lake using the relevant big data technologies
Understand the core of the Lambda architecture and how to apply it in an enterprise
Learn the technical details around Sqoop and its functionalities
Integrate Kafka with Hadoop components to acquire enterprise data
Use flume with streaming technologies for stream-based processing
Understand stream- based processing with reference to Apache Spark Streaming
Incorporate Hadoop components and know the advantages they provide for enterprise data lakes
Build fast, streaming, and high-performance applications using ElasticSearch
Make your data ingestion process consistent across various data formats with configurability
Process your data to derive intelligence using machine learning algorithms
In Detail
The term "Data Lake" has recently emerged as a prominent term in the big data industry. Data scientists can make use of it in deriving meaningful insights that can be used by businesses to redefine or transform the way they operate. Lambda architecture is also emerging as one of the very eminent patterns in the big data landscape, as it not only helps to derive useful information from historical data but also correlates real-time data to enable business to take critical decisions. This book tries to bring these two important aspects — data lake and lambda architecture—together.
This book is divided into three main sections. The first introduces you to the concept of data lakes, the importance of data lakes in enterprises, and getting you up-to-speed with the Lambda architecture. The second section delves into the principal components of building a data lake using the Lambda architecture. It introduces you to popular big data technologies such as Apache Hadoop, Spark, Sqoop, Flume, and ElasticSearch. The third section is a highly practical demonstration of putting it all together, and shows you how an enterprise data lake can be implemented, along with several real-world use-cases. It also shows you how other peripheral components can be added to the lake to make it more efficient.
By the end of this book, you will be able to choose the right big data technologies using the lambda architectural patterns to build your enterprise data lake.
Style and approach
The book takes a pragmatic approach, showing ways to leverage big data technologies and lambda architecture to build an enterprise-level data lake.
Table of contents
- Preface
- Introduction to Data
-
Comprehensive Concepts of a Data Lake
- What is a Data Lake?
- How does a Data Lake help enterprises?
- How Data Lake works?
- Differences between Data Lake and Data Warehouse
- Approaches to building a Data Lake
-
Lambda Architecture-driven Data Lake
- Data ingestion layer - ingest for processing and storage
- Batch layer - batch processing of ingested data
- Speed layer - near real time data processing
- Data storage layer - store all data
- Serving layer - data delivery and exports
- Data acquisition layer - get data from source systems
- Messaging Layer - guaranteed data delivery
- Exploring the Data Ingestion Layer
- Exploring the Lambda layer
- Summary
-
Lambda Architecture as a Pattern for Data Lake
- What is Lambda Architecture?
- History of Lambda Architecture
- Principles of Lambda Architecture
- Components of a Lambda Architecture
- Complete working of a Lambda Architecture
- Advantages of Lambda Architecture
- Disadvantages of Lambda Architectures
- Technology overview for Lambda Architecture
- Applied lambda
- Working examples of Lambda Architecture
- Kappa architecture
- Summary
-
Applied Lambda for Data Lake
- Knowing Hadoop distributions
- Selection factors for a big data stack for enterprises
- Batch layer for data processing
- Serving layer
- Summary
-
Data Acquisition of Batch Data using Apache Sqoop
- Context in data lake - data acquisition
- Why Apache Sqoop
- Workings of Sqoop
- Sqoop connectors
- Sqoop support for HDFS
- Sqoop working example
- When to use Sqoop
- When not to use Sqoop
- Real-time Sqooping: a possibility?
- Other options
- Summary
-
Data Acquisition of Stream Data using Apache Flume
- Context in Data Lake: data acquisition
- Why Flume?
- Flume architecture principles
- The Flume Architecture
- Flume event - Stream Data
- Flume agent
- Flume source
- Flume Channel
- Flume sink
- Flume configuration
- Flume transaction management
- Other flume components
- Context Routing
- Flume working example
- When to use Flume
- When not to use Flume
- Other options
- Summary
-
Messaging Layer using Apache Kafka
- Context in Data Lake- messaging layer
- Why Apache Kafka
- Kafka architecture
- Other Kafka components
- Kafka programming interface
- Producer and consumer reliability
- Kafka security
- Kafka as message-oriented middleware
- Scale-out architecture with Kafka
- Kafka connect
- Kafka working example
- When to use Kafka
- When not to use Kafka
- Other options
- Summary
-
Data Processing using Apache Flink
- Context in a Data Lake - Data Ingestion Layer
- Why Apache Flink?
- Working of Flink
- Flink API's
- Flink working example
- When to use Flink
- When not to use Flink
- Other options
- Summary
- Data Store Using Apache Hadoop
-
Indexed Data Store using Elasticsearch
- Context in Data Lake: data storage and lambda speed layer
- What is Elasticsearch?
- Why Elasticsearch
- Working of Elasticsearch
- Elastic Stack
- Elastic Cloud
- Elasticsearch DSL (Query DSL)
- Nodes in Elasticsearch
- Elasticsearch and relational database
- Elasticsearch ecosystem
- Elasticsearch deployment options
- Clients for Elasticsearch
- Elasticsearch for fast streaming layer
- Elasticsearch as a data source
- Elasticsearch for content indexing
- Elasticsearch and Hadoop
-
Elasticsearch working example
- Installation
- Creating and Deleting Indexes
- Indexing Documents
- Getting Indexed Document
- Searching Documents
- Updating Documents
- Deleting a document
-
Elasticsearch in purview of SCV use case
- Data preparation
- Customer data import into Hive using Sqoop
- Data acquisition via Flume into Kafka channel
- Data ingestion via Flink to HDFS and Elasticsearch
- Writing into Elasticsearch
- Flink deployment
- Parquet data visualization as Hive tables
- Data indexing from Hive
- Query data from ES (customer, address, and contacts)
- When to use Elasticsearch
- When not to use Elasticsearch
- Other options
- Summary
-
Data Lake Components Working Together
- Where we stand with Data Lake
- Core architecture principles of Data Lake
- Challenges faced by enterprise Data Lake
- Expectations from Data Lake
- Data Lake for other activities
- Knowing more about data storage
- Knowing more about Data processing
- Thoughts on data security
- Thoughts on data encryption
- Metadata management and governance
- Thoughts on Data Auditing
- Thoughts on data traceability
- Knowing more about Serving Layer
- Summary
-
Data Lake Use Case Suggestions
- Establishing cybersecurity practices in an enterprise
- Know the customers dealing with your enterprise
- Bring efficiency in warehouse management
- Developing a brand and marketing of the enterprise
- Achieve a higher degree of personalization with customers
- Bringing IoT data analysis at your fingertips
- More practical and useful data archival
- Compliment the existing data warehouse infrastructure
- Achieving telecom security and regulatory compliance
- Summary
Product information
- Title: Data Lake for Enterprises
- Author(s):
- Release date: May 2017
- Publisher(s): Packt Publishing
- ISBN: 9781787281349
You might also like
book
Data Lakes
The concept of a data lake is less than 10 years old, but they are already …
book
Operationalizing the Data Lake
Big data and advanced analytics have increasingly moved to the cloud as organizations pursue actionable insights …
book
Data Lakes For Dummies
Take a dive into data lakes “Data lakes” is the latest buzz word in the world …
book
The Enterprise Big Data Lake
The data lake is a daring new approach for harnessing the power of big data technology …