Apache Hadoop is an open-source framework designed to facilitate interaction with big data. Still, for those unfamiliar with this technology, one question arises, what is big data? Big data is a term for data sets that cannot be efficiently processed using a traditional methodology such as an RDBMS. Hadoop has made its place in industries and companies that need to work on large data sets that are sensitive and need efficient processing. HDFS, MapReduce, YARN, and Hadoop Common are the major elements of Hadoop. Most tools or solutions are used to supplement or support these core elements. All these tools work together to provide services such as data absorption, analysis, storage, maintenance, etc.
Components that collectively form a Hadoop Ecosystem
HDFS: Hadoop Distributed File System
YARN: Yet Another Resource Negotiator
MapReduce: Programming-based Data Processing
Spark: In-Memory data processing
PIG, HIVE: processing of data services on Query-based
HDFS is the primary or core component of the Hadoop ecosystem. It is responsible for storing large datasets of structured or unstructured data across multiple nodes, thereby storing metadata as log files.
HDFS consists of two basic components viz.
Node name
A data node
A Name Node is a primary node that contains metadata (data about data), requiring comparatively fewer resources than data nodes that store the actual data. These data nodes are commodity hardware in a distributed environment. Undoubtedly, what makes Hadoop cost-effective?
HDFS maintains all coordination between clusters and hardware, so it works at the system’s heart.
Yet Another Resource Negotiator, as the name suggests, YARN helps manage resources across clusters. In short, it performs resource planning and allocation for the Hadoop system.
It consists of three main components, viz.
Resource manager
Node manager
Application manager
A resource manager has the privilege of allocating resources for applications in the system. In contrast, node managers work to allocate resources such as CPU, memory, and bandwidth per machine and later acknowledge the resource manager. The application manager acts as an interface between the resource manager and the node manager and performs negotiations according to the two requirements.
Using distributed and parallel algorithms, MapReduce allows you to offload processing logic and helps you write applications that transform large datasets into manageable ones.
MapReduce uses two functions, i.e., Map() and Reduce(), whose task is to:
Map() performs sorting and filtering of the data and thus organizes it in the form of a group. The map generates a result based on the key-value pair, which is later processed by the Reduce() method.
Reduce(), as the name suggests, performs summarization by aggregating mapped data. Simply put, Reduce() takes the output generated by Map() as input and combines those tuples into a smaller set of tuples.
PIG:
Pig was essentially developed by Yahoo, working on Pig Latin, a query-based language similar to SQL.
It is a platform for data flow structuring, processing, and analyzing large data sets.
Pig does the job of executing the commands, and all the MapReduce activities are taken care of in the background. After processing, the pig stores the result in HDFS.
The Pig Latin language is specifically designed for this framework, which runs on the Pig Runtime.
Pig helps to achieve ease of programming and optimization and thus is a core segment of the Hadoop ecosystem.
HIVE:
With the help of SQL methodology and the HIVE interface, it reads and writes large data sets known as Hive Query Language.
It is highly scalable as it allows both real-time and batches processing. Also, all SQL data types are supported by Hive, making query processing easier.
Like Query Processing frameworks, HIVE comes with two components: JDBC Drivers and HIVE Command-Line.
JDBC works with ODBC drivers to create data storage and connection permissions, while the HIVE command line helps with query processing.
Mahout:
Mahout enables machine learning of a system or application. Machine learning, as the name suggests, helps a system evolve based on certain patterns, user/environment interactions, or algorithms.
It provides various libraries or features like collaborative filtering, clustering, and classification, which are nothing but machine learning concepts. It allows us to invoke algorithms according to our needs using our libraries.
Apache Spark:
It is a platform that handles all process-intensive tasks such as batch processing, real-time interactive or iterative processing, graph conversions, and visualizations, etc.
Therefore, it consumes memory resources and is faster than the previous one in terms of optimization.
Spark is best suited for real-time data, while Hadoop is best suited for structured data or batch processing. Hence both are used interchangeably in most companies.
Apache HBase:
It is a NoSQL database that supports all kinds of data and is capable of processing anything from a Hadoop database. It provides Google BigTable capabilities to work with large data sets efficiently.
When we need to search or retrieve occurrences of something small in a huge database, the request must be processed in a short, fast time frame. At such times, HBase comes in handy as it provides us with a tolerant way of storing limited data.
Other Components:
Apart from all these, some other components perform the huge task of making Hadoop capable of processing large data sets. They are as follows:
Solr, Lucene: These are two services that perform the task of searching and indexing using some java libraries. Lucene is based on Java which also enables a spell-checking mechanism. However, Lucene is driven by Solr.
Zookeeper: There was a huge problem with managing coordination and synchronization between Hadoop resources or components, which often led to inconsistency. Zookeeper has overcome all the problems by performing synchronization, inter-component communication, grouping, and maintenance.
Oozie: Oozie simply acts as a scheduler, so it schedules jobs and joins them together. There are two kinds of tasks, i.e., Oozie workflow and Oozie coordinator tasks. An Oozie workflow is the tasks that need to be executed sequentially in an ordered manner. In contrast, the Oozie coordinator tasks are triggered when some data or external stimulus is given to it.
Conclusion
Hadoop is an open-source Apache framework written in Java that enables distributed processing of large data sets across clusters of computers using simple programming models. The Hadoop framework works in an environment that gives distributed storage and computation across groups of computers. Hadoop is designed to scale from a single server to thousands of machines, each offering local computation and storage.
Key Takeaways:
The Hadoop framework gives permission to the user to fast write and test distributed systems. It is efficient and automatically distributes data and work between machines and, in turn, uses the basic parallelism of CPU cores.
Hadoop does not rely on hardware to provide fault tolerance and high availability (FTHA), but the Hadoop library itself was designed to detect and handle failures at the application layer.
Servers can be attached or detached from the cluster dynamically, and Hadoop proceeds to operate without interruption.
Another big advantage of Hadoop is that apart from being open source, it is compatible across all platforms because it is based on Java.
Passionate Machine learning professional and data-driven analyst with the ability to apply ML techniques and various algorithms to solve real-world business problems. I have always been fascinated by Mathematics and Numbers. Over the past few months, I have dedicated a considerable amount of time and effort to Machine Learning Studies.
We use cookies essential for this site to function well. Please click to help us improve its usefulness with additional cookies. Learn about our use of cookies in our Privacy Policy & Cookies Policy.
Show details
Powered By
Cookies
This site uses cookies to ensure that you get the best experience possible. To learn more about how we use cookies, please refer to our Privacy Policy & Cookies Policy.
brahmaid
It is needed for personalizing the website.
csrftoken
This cookie is used to prevent Cross-site request forgery (often abbreviated as CSRF) attacks of the website
Identityid
Preserves the login/logout state of users across the whole site.
sessionid
Preserves users' states across page requests.
g_state
Google One-Tap login adds this g_state cookie to set the user status on how they interact with the One-Tap modal.
MUID
Used by Microsoft Clarity, to store and track visits across websites.
_clck
Used by Microsoft Clarity, Persists the Clarity User ID and preferences, unique to that site, on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID.
_clsk
Used by Microsoft Clarity, Connects multiple page views by a user into a single Clarity session recording.
SRM_I
Collects user data is specifically adapted to the user or device. The user can also be followed outside of the loaded website, creating a picture of the visitor's behavior.
SM
Use to measure the use of the website for internal analytics
CLID
The cookie is set by embedded Microsoft Clarity scripts. The purpose of this cookie is for heatmap and session recording.
SRM_B
Collected user data is specifically adapted to the user or device. The user can also be followed outside of the loaded website, creating a picture of the visitor's behavior.
_gid
This cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected includes the number of visitors, the source where they have come from, and the pages visited in an anonymous form.
_ga_#
Used by Google Analytics, to store and count pageviews.
_gat_#
Used by Google Analytics to collect data on the number of times a user has visited the website as well as dates for the first and most recent visit.
collect
Used to send data to Google Analytics about the visitor's device and behavior. Tracks the visitor across devices and marketing channels.
AEC
cookies ensure that requests within a browsing session are made by the user, and not by other sites.
G_ENABLED_IDPS
use the cookie when customers want to make a referral from their gmail contacts; it helps auth the gmail account.
test_cookie
This cookie is set by DoubleClick (which is owned by Google) to determine if the website visitor's browser supports cookies.
_we_us
this is used to send push notification using webengage.
WebKlipperAuth
used by webenage to track auth of webenagage.
ln_or
Linkedin sets this cookie to registers statistical data on users' behavior on the website for internal analytics.
JSESSIONID
Use to maintain an anonymous user session by the server.
li_rm
Used as part of the LinkedIn Remember Me feature and is set when a user clicks Remember Me on the device to make it easier for him or her to sign in to that device.
AnalyticsSyncHistory
Used to store information about the time a sync with the lms_analytics cookie took place for users in the Designated Countries.
lms_analytics
Used to store information about the time a sync with the AnalyticsSyncHistory cookie took place for users in the Designated Countries.
liap
Cookie used for Sign-in with Linkedin and/or to allow for the Linkedin follow feature.
visit
allow for the Linkedin follow feature.
li_at
often used to identify you, including your name, interests, and previous activity.
s_plt
Tracks the time that the previous page took to load
lang
Used to remember a user's language setting to ensure LinkedIn.com displays in the language selected by the user in their settings
s_tp
Tracks percent of page viewed
AMCV_14215E3D5995C57C0A495C55%40AdobeOrg
Indicates the start of a session for Adobe Experience Cloud
s_pltp
Provides page name value (URL) for use by Adobe Analytics
s_tslv
Used to retain and fetch time since last visit in Adobe Analytics
li_theme
Remembers a user's display preference/theme setting
li_theme_set
Remembers which users have updated their display / theme preferences
We do not use cookies of this type.
_gcl_au
Used by Google Adsense, to store and track conversions.
SID
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
SAPISID
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
__Secure-#
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
APISID
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
SSID
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
HSID
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
DV
These cookies are used for the purpose of targeted advertising.
NID
These cookies are used for the purpose of targeted advertising.
1P_JAR
These cookies are used to gather website statistics, and track conversion rates.
OTZ
Aggregate analysis of website visitors
_fbp
This cookie is set by Facebook to deliver advertisements when they are on Facebook or a digital platform powered by Facebook advertising after visiting this website.
fr
Contains a unique browser and user ID, used for targeted advertising.
bscookie
Used by LinkedIn to track the use of embedded services.
lidc
Used by LinkedIn for tracking the use of embedded services.
bcookie
Used by LinkedIn to track the use of embedded services.
aam_uuid
Use these cookies to assign a unique ID when users visit a website.
UserMatchHistory
These cookies are set by LinkedIn for advertising purposes, including: tracking visitors so that more relevant ads can be presented, allowing users to use the 'Apply with LinkedIn' or the 'Sign-in with LinkedIn' functions, collecting information about how visitors use the site, etc.
li_sugr
Used to make a probabilistic match of a user's identity outside the Designated Countries
MR
Used to collect information for analytics purposes.
ANONCHK
Used to store session ID for a users session to ensure that clicks from adverts on the Bing search engine are verified for reporting purposes and for personalisation
We do not use cookies of this type.
Cookie declaration last updated on 24/03/2023 by Analytics Vidhya.
Cookies are small text files that can be used by websites to make a user's experience more efficient. The law states that we can store cookies on your device if they are strictly necessary for the operation of this site. For all other types of cookies, we need your permission. This site uses different types of cookies. Some cookies are placed by third-party services that appear on our pages. Learn more about who we are, how you can contact us, and how we process personal data in our Privacy Policy.
This is a very good source of information for me with respect to Hadoop. This source of information is gradually shaping me .