Book Image

Data Lake for Enterprises

By : Vivek Mishra, Tomcy John, Pankaj Misra
Book Image

Data Lake for Enterprises

By: Vivek Mishra, Tomcy John, Pankaj Misra

Overview of this book

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.
Table of Contents (23 chapters)
Title Page
Credits
Foreword
About the Authors
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface
Part 1 - Overview
Part 2 - Technical Building blocks of Data Lake
Part 3 - Bringing It All Together

Elasticsearch DSL (Query DSL)


Elasticsearch DSL is a library abstracted on top of Elasticsearch, using which you can write and run queries against the data stored. It in turn wraps Lucene’s query syntax and makes these interactions easy by allowing a query to be composed using a JSON syntax.

A sample query of customer data in Elasticsearch is shown here:

Curl -XPOST ‘http://localhost:9200/customer/_search?pretty=true’ -H 'Content-Type: application/json' -d ‘
{ “from” : 0,
“Size”: 20,
“query”: <QUERY_JSON>,
<FILTER_JSON>,
<SORT_JSON>
}’

In the previous code <QUERY_JSON> can be { "match_all": {} } and <SORT_JSON> can be "sort": { "name": { "order": "desc" } }.

Code 01: Sample Elasticsearch DSL query

Important queries in Query DSL

The following are some of the important queries showing off Query DSL:

  • match_all: Matches all the documents. The default query that runs when nothing is specified. This can be used in conjunction with filter and returns all the documents satisfying...