
Explore how search engines work behind the scenes, compare video search engines, and learn how indexing web pages across the internet makes content accessible to users.
DataShark Academy explains who we are and how we help you land a dream job with big data courses built on real-world use cases and hands-on labs.
Explore the basics of search as the act of finding information, locations, or apps by looking carefully; see how daily device use relies on search engines behind the scenes.
Understand what a search engine is: a software program that indexes documents and media to enable fast searches across web and enterprise data.
Learn how a basic search engine crawls and analyzes documents, creates metadata by splitting content into meaningful chunks, indexes them for quick lookup, and retrieves relevant results for users.
Metadata is data about other data. It clarifies content for indexing, allowing search engines to read metadata from an index and retrieve relevant documents quickly.
Explore Elasticsearch, an open source search engine, that processes huge customer data for private enterprises to generate business insights with real-time analytics, scalability, and high availability.
Elasticsearch offers scalable growth through its discovery feature, allowing clusters to auto-expand by adding small machines and minimal configuration.
Elasticsearch provides high availability through replicas of the primary node and automatic failover, with an easy way to add new nodes to an existing cluster behind the scenes.
Explore out-of-the-box multi-tenancy by giving each application its own unit in the cluster, keeping data and resources separate and preventing interference for stronger security.
Explore how Elasticsearch enables full text search and supports language and geolocation. Learn the RESTful API and DSL for flexible, interactive queries.
Explore how a classic search supports realtime analytics and generates metrics at blazing speed. Analyze how it handles both structured and unstructured data for realtime analytics across datasets.
Lay the foundation for upcoming chapters by examining search engines such as Google and Yahoo, exploring classic search concepts, and previewing hand-sewn practices.
Set up a cross-platform development environment for elasticsearch, following a step-by-step single-node installation on macOS or Windows to prepare for later exercises.
Set up a development environment with essential tools for Elasticsearch, Logstash, Hive, Pig, MR, and Kibana; Mac users use Homebrew, Windows users skip; include SSH, Hadoop, classic source, and plugins.
Install wget using homebrew in the terminal, verify internet connection, and confirm the installation by checking /usr/local and the created symbolic link.
Install homebrew, a macOS package manager, by copying and running the installer command, download and complete the setup, verify installation at /usr/local/homebrew, then proceed.
Verify the Java version on your machine with java -version, ensure it is Java 8, and install it using brew update and brew install java if necessary.
Enable remote ssh access, generate and install an ssh key pair, copy the public key to authorized_keys, and verify secure localhost login via ssh.
Download and install Hadoop using wget and sudo, organizing files in /usr/local. Explore Hadoop, an open-source Java framework for distributed processing and storage with the Hadoop distributed file system.
Configure your Hadoop setup by defining JAVA_HOME and HADOOP_HOME in your bash profile, update PATH, and reload the profile to apply changes. Create backups of configuration files before editing.
Configure hadoop core components by defining the dfs location on a local host and configuring a dfs site for a single-machine setup. Establish a storage path for temporary data.
Bring Hadoop daemons to life by stopping them, verifying status in the terminal with ps commands, and restarting all processes if any fail, ensuring five processes run as expected.
Configure apache hadoop part 3 by defining resource manager and job tracker properties, format hdfs, start the daemons, and monitor progress via a graphical user interface.
Practice a hands-on installation of Elasticsearch, using wget to download the binaries, rename the files for simplicity, and configure Elasticsearch to run in your environment.
Configure Elasticsearch by setting ES home and related environment variables, edit the config for a unique node name and data and log paths, and prepare plugin directories for future installations.
Install the head plugin for Elasticsearch to browse data and view indexes. Run the install command from your home directory to place the plugin under the Elasticsearch plugins directory.
Install the elasticsearch Marvel plugin to monitor a cluster, using a terminal command to download and install the latest plugin. Start elasticsearch to begin monitoring.
Start the Elasticsearch daemon, load the necessary processes, and verify plugins. Open the browser to inspect the cluster, view nodes and indices, and note the green indicators and yellow status.
Set up a development environment and initialize essential utilities to run Hadoop and Elasticsearch on a local machine, then explore building pipelines in later sections.
Before moving to exercises, learn the chapter's building blocks and dive into the core concepts.
Explore how Elasticsearch differs from relational databases by treating data as documents and indexes, not just storage. Learn how types and fields organize objects within an index.
Learn how Elasticsearch stores a data record as a document with metadata, including index, type, a unique id, and version, plus the _source field containing the actual data.
Explore how the inverted index powers Elasticsearch by transforming documents into terms, building a dictionary, and linking terms to documents to enable fast search results.
Learn how indexing relies on shards as the low level storage units in elasticsearch, with primary shards and replica shards to counter failures.
an elasticsearch node hosts shards, including the primary shard, and can be a data or master node with a load balancer, configured in elasticsearch.yml.
Learn how Elasticsearch stores data as shards across master and data nodes, forms a cluster, and processes search requests by querying across indexes.
Learn to monitor Elasticsearch cluster health using red, yellow, and green states; red marks inactive primary shards, yellow signals partial backups, green confirms all primaries have backups.
Explore horizontal scaling for an Elasticsearch cluster by adding small, inexpensive machines and using federalism to grow exponentially with application-level parallelism.
Explore rest APIs in Elasticsearch, covering create, update, and delete operations, and how external systems can send requests via a call utility; more on these APIs in upcoming lessons.
Explore elastic search fundamentals, including indexes, documents, shards, and clusters, and how to scale and use core operations. Preview the API and its classes with hands-on activities in upcoming sessions.
Begin in this chapter by building a solid foundation through a hands-on mix of practical exercises and concise theory, preparing you for upcoming topics.
Explore how elastic uses document IDs to assign a unique id to each shard, ensuring every document maps to the same shard for fast, efficient retrieval across the cluster.
Explore the three operation types in Elasticsearch—read (retrieval), write/delete, and update—and see how create, index, and document operations work behind the scenes.
Learn how write and delete operations in elasticsearch follow similar patterns, targeting the primary shard, replicating to all shards, and awaiting acknowledgments to complete the transaction.
Create an index and then write documents into Elasticsearch, using a subject index class and specific document IDs; observe acknowledgment, and verify document counts and sizes as documents accumulate.
Learn how Elasticsearch routes a document request to the correct shard using hashing, locating the primary or replica on different nodes to balance load and boost performance.
Master read operations in Elasticsearch by creating an index, inserting a document with id, class, subject, and about fields, and retrieving it with a get command.
Practice a read operation in Elasticsearch by retrieving the second document from the subject and class index, and observe behavior when the document is not found, including stripping the id.
Explore how update operations work in an ElasticSearch cluster: route to the primary shard, fetch and update a document, and propagate changes to replicas.
Update an existing Elasticsearch document by adding a duration field with the value 'for weeks' to document id 1. Verify the version increments to 2.
Execute delete operations in Elasticsearch to mark documents as deleted, making them unavailable for search while the version increments; verify by deleting existing and non-existent documents.
Learn how Elasticsearch mappings control field data types and indexing, using underscore mapping to set types at index creation or when adding new fields, and avoid altering field mappings.
Learn to add a new field to an existing Elasticsearch document by defining a date mapping with a specific format, then update and verify the mapping using the put command.
Learn how to ensure data consistency by using index templates to automatically apply mappings with specific data types to new indexes that match a pattern, avoiding manual updates.
Create an Elasticsearch template to enforce mappings on future indices, apply it with the template API, and index a document to verify the mapping.
Learn CRUD operations on documents, including read, update, delete, and adding new fields, with hashing algorithms and automated mappings and templates in Elasticsearch.
Explore how Elasticsearch indexes large data sets and enables meaningful searching with an intelligent analytical engine on indexed data. See these capabilities demonstrated in action in the next lesson.
Discover types of search queries in Elasticsearch by using the domain-specific language to combine multiple conditions and criteria, enabling powerful searches across various features in development systems.
Explore hands-on indexing of university course data into Elasticsearch using a Bulker bulk request, define a non-analyzed mapping, and verify an 11-record index with auto-generated document IDs.
Execute a get query to pull all documents from an Elasticsearch index, inspect hits, scores, and metadata, and understand relevancy and performance implications.
Apply a querystring to filter documents by the skill field, retrieving only those with Java and observing score-based ranking across the matching documents.
Avoid relying on query strings for complex feeds and phrase checks; the lecture argues that dsl offers a simpler approach.
Apply DSL queries in Elasticsearch to filter by Java skill and start date range, using boolean conjunctions and proper non-analyzed date fields to ensure accurate results.
Extend a BSL example with DSL queries to filter courses by skills, price under $250, and 2017 start dates using and/or logic.
Explore the features in Elasticsearch, assess screen limitations for small clusters, and examine DSL queries and their complexity. Build Elasticsearch sort applications and integrate them with our tool.
Discover how to build data pipelines linking elastic sort with Hadoop technologies, enabling data sharing between systems and understanding what a data pipeline is and how it works.
Set objectives by outlining a data pipeline that uses Hive within the Hadoop ecosystem and an Elasticsearch-like interface to organize and store data.
Install apache hive on a local machine by downloading the hive package, placing it under /usr/local, entering your password, renaming the folder, and preparing for the configuration step.
Set up hive environment by creating hive_home and scad_home environment variables, update the path, place external libraries in user local lib, and load configurations via source to start using hive.
Configure Hive for Hadoop, set up Hadoop home and configuration, start Hadoop, run Hive, and create tables to build the data pipeline for the next lesson.
Learn to use the Elasticsearch connector jar for easy integration between Hadoop systems, start Hadoop and Hive services, and verify daemons with jps to prepare data pipelines.
Scout free real-world datasets for hands-on exercises by using the video games sales dataset from a free website called Gagner com, create a data pipeline, and enable future analytics.
Understand a 16,000-record video game sales dataset in CSV format, including ranking, game name, platform, regions where launched, and global sales above 10,000 copies, before building an Elasticsearch pipeline.
Create a Hive table and load video game data to build a four-stage data pipeline toward an Elasticsearch index. Learn Hive table creation and data loading steps for indexing.
Create a data pipeline that transfers data from a Hive table to an Elasticsearch index using a jar bridging Hadoop and Elasticsearch, with a Hive target table and index verification.
Inspect an Elasticsearch cluster by querying, sorting, and browsing 16,000 ingested documents in an index, using Kibana dashboards and plugins to view fields, scores, and cataloged records.
Build a data pipeline by loading elastic data into Hive in this exercise, extending the previous workflow.
Build a data pipeline by using the bulk API, create a Hive table, and connect it to Elasticsearch to carry the data.
Index data in Elasticsearch with the bulk API by loading candidate records from a data file and verifying documents in the index; next, connect a Hive table for queries.
Create a Hive table linked to an Elasticsearch index, map fields with matching names, and run a Hive query to fetch data from Elasticsearch through the classic search Hadoop pipeline.
Set up a pipe on your machine and build two data pipelines using hive and elastic search to move data between hive and elastic search.
Introduce data pipelines and core components of the Elasticsearch stack, including Logstash, Hive, Pig, MapReduce, and Kibana, as the course begins.
Master the steps to build pipelines from big to elastic and install the tool on your machine.
Explore Apache Pig, a scripting language for reading, transforming, and filtering huge data sets, with support for custom functions and execution on distributed computing engines.
Perform a hands-on installation of Apache Pig by downloading the package from the specified location, extracting it to a local directory, and renaming the resulting directory for simplicity.
Configure Apache Pig by setting environment variables, updating the bash profile, and adding PIG_HOME to the path, then source the profile and verify the installation by checking the version.
Learn to integrate Apache Hive with a processing engine and Elasticsearch to build a real-world data pipeline, reading data from DFS files or Hive tables and indexing into Elasticsearch.
Pull the worldwide videogame sales dataset from the hive table bg_sales, connect to read the data, load it into memory, and index it into classic search for the exercise.
Create an Elasticsearch index named games, apply a not analyzed string mapping for a field, verify the index and mapping, and prepare a hive-to-elasticsearch pipeline for the next lesson.
Load hive data using Pig into relational structures, then index the results in Elasticsearch, demonstrating jar integration, mapping, and dynamic indexing for 2012 cards.
Build a pipeline from elastic and explain why this approach is used, then outline the exercise steps.
Build a data pipeline using the same dataset from a previous exercise, load the 2012 games index, apply a large elastic sort, and store the resulting dataset.
Create a hands-on data pipeline from Elasticsearch to Pig to HDFS, filtering year 2012 games by publishers Activision and Capcom, loading and storing results in HDFS.
Build real-world data pipelines between Hadoop systems and Elasticsearch, install the tools, and observe how Pig queries flow to Elasticsearch as you prepare to expand to additional pipelines.
Complete ElasticSearch tutorial for beginners to advanced level professionals.
Learn how to use ElasticSearch with Apache Hadoop and build various real world big data applications.
This comprehensive course focuses on building real world like data applications to move data from one system to another. A common practice for any data engineer today. No other course can cover so much ground as you will do in this one.
In this course you will learn:
Section 1 – Ingestion Flows (Hadoop to ElasticSearch)
In this section of the course, you will learn to move data from various Hadoop applications (such as Hive, Pig, MR) & LogStash into an ElasticSearch index. This is an ideal business use case to prepare data for business analytics. Here are four major topics that will be covered in this section of the course:
Learn how to install Apache Hive on your computer. Then read data from a hive table and load it into ElasticSearch
Learn how to install Apache PIG on your computer and index data into ElasticSearch using Apache PIG
Create a MapReduce program (Java code) and load data into an ElasticSearch index
Learn how to move data using LogStash into an ElasticSearch index
Section 2 – Egression Flows (ElasticSearch to Hadoop)
In this section of the course, you will learn to use indexed data from an ElasticSearch cluster and load it back into Hadoop cluster. After data is loaded back into Hadoop, you will learn how to directly import it into Hive, Pig, M/R or LogStash. Here are four major topics that we will cover under this section:
Learn how to import an ElasticSearch index directly into Apache Hive table
Learn how to import an ElasticSearch indexed data into Hadoop using Apache PIG scripts
Learn how to import an ElasticSearch indexed data into Hadoop using Java MapReduce program
Learn how to import an ElasticSearch indexed data using LogStash application
Section 3 – Data Visualization (Business Intelligence)
In part of the course, you will learn how to use indexed data from an ElasticSearch cluster and create dynamic dashboards using Kibana.
This will be a very important lesson for Data Analysts and Data Scientists.
Section 4 – Production Cluster Monitor tool (Administration)
No knowledge is complete without learning how to maintain an application in production. In this section of the course, you will learn how to monitor your ElasticSearch cluster using Marvel plugins. Here are few things that you will learn:
Cluster Health monitoring at Index, Shard, Node levels
Parsing ElasticSearch Cluster statistics using Linux utilities
Setting up wait-for-trigger mechanism and much more
Section 5 - Searching an ElasticSearch Index
Learn about awesome search capabilities offered by ElasticSearch
How to search something from an ElasticSearch index in real time.
We will cover lots of basics to build foundation required to understand ElasticSearch. You will also learn about behind the scenes on how a search engine and specifically ElasticSearch works in a single or multiple node cluster.
You will also get step by step instructions for installing all required tools and components on your machine in order to run all examples provided in this course. Each video will explain entire process in detail and easy to understand manner.
You will get access to working code for you to play with it and expand on it. All code examples are working and will be demonstrated in video lessons.
Windows users will need to install virtual machine on their PC to setup single node hadoop cluster. Detailed Instructions are available inside the course.