Big Data Analytics - CCS334 - Notes - ALL UNITS NOTES
Big Data Analytics - CCS334 - Notes - ALL UNITS NOTES
Big data refers to extremely large and diverse collections of structured, unstructured,
and semi-structured data that continues to grow exponentially over time. These
datasets are so huge and complex in volume, velocity, and variety, that traditional data
management systems cannot store, process, and analyze them.
Big data describes large and diverse datasets that are huge in volume and also rapidly
grow in size over time. Big data is used in machine learning, predictive modeling, and
other advanced analytics to solve business problems and make informed decisions
Big data definitions may vary slightly, but it will always be described in terms of volume,
velocity, and variety. These big data characteristics are often referred to as the “3 Vs of
Volume
As its name suggests, the most common characteristic associated with big data
is its high volume. This describes the enormous amount of data that is available
for collection and produced from a variety of sources and devices on a
continuous basis.
Velocity
Big data velocity refers to the speed at which data is generated. Today, data is
often produced in real time or near real time, and therefore, it must also be
processed, accessed, and analyzed at the same rate to have any meaningful
impact.
Variety
Data is heterogeneous, meaning it can come from many different sources and
can be structured, unstructured, or semi-structured. More traditional structured
data (such as data in spreadsheets or relational databases) is now
supplemented by unstructured text, images, audio, video files, or semi-
structured formats like sensor data that can’t be organized in a fixed data
schema. big data” and were first defined by Gartner in 2001.
In addition to these three original Vs, three others that are often mentioned in relation
to harnessing the power of big data: veracity, variability, and value.
Veracity:
Big data can be messy, noisy, and error-prone, which makes it difficult to control
the quality and accuracy of the data. Large datasets can be unwieldy and
confusing, while smaller datasets could present an incomplete picture. The
higher the veracity of the data, the more trustworthy it is.
Variability:
Value:
It’s essential to determine the business value of the data you collect. Big data
must contain the right data and then be effectively analyzed in order to yield
insights that can help drive decision-making.
o Social networking sites: Facebook, Google, LinkedIn all these sites generate
huge amount of data on a day to day basis as they have billions of users
worldwide.
o E-commerce site: Sites like Amazon, Flipkart, Alibaba generates huge number
of logs from which users buying trends can be traced.
o Weather Station: All the weather station and satellite gives very huge data
which are stored and manipulated to forecast weather.
o Telecom company: Telecom giants like Airtel, Vodafone study the user trends
and accordingly publish their plans and for this they store the data of its million
users.
o Share Market: Stock exchange across the world generates huge amount of
data through its daily transaction.
The central concept of big data is that the more visibility you have into anything,
the more effectively you can gain insights to make better decisions, uncover growth
opportunities, and improve your business model.
1. Integration:
Big data collects terabytes, and sometimes even petabytes, of raw data from many
sources that must be received, processed, and transformed into the format that
business users and analysts need to start analyzing it.
2. Management:
Big data needs big storage, whether in the cloud, on-premises, or both. Data must
also be stored in whatever form required. It also needs to be processed and made
available in real time. Increasingly, companies are turning to cloud solutions to take
advantage of the unlimited compute and scalability.
3. Analysis:
The final step is analyzing and acting on big data—otherwise, the investment won’t
be worth it. Beyond exploring the data itself, it’s also critical to communicate and
share insights across the business in a way that everyone can understand. This
includes using tools to create data visualizations like charts, graphs, and
dashboards.
What is big data analytics?
Big data analytics is the process of collecting, examining, and analysing large amounts
of data to discover market trends, insights, and patterns that can help companies make
better business decisions. This information is available quickly and efficiently so that
companies can be agile in crafting plans to maintain their competitive advantage.
Big data analytics is important because it helps companies leverage their data to
identify opportunities for improvement and optimisation. Across different business
segments, increasing efficiency leads to overall more intelligent operations, higher
profits, and satisfied customers. Big data analytics helps companies reduce costs and
develop better, customer-centric products and services.Technologies such as business
intelligence (BI) tools and systems help organisations take unstructured and 3
structured data from multiple sources. Users (typically employees) input queries into
these tools to understand business operations and performance. Big data analytics
uses the four data analysis methods to uncover meaningful insights and derive
solutions.
Types of big data analytics
Four main types of big data analytics support and inform different business decisions.
1. Descriptive analytics
Descriptive analytics refers to data that can be easily read and interpreted. This data
helps create reports and visualise information that can detail company profits and
sales.
2. Diagnostics analytics
Diagnostics analytics helps companies understand why a problem occurred. Big data
technologies and tools allow users to mine and recover data that helps dissect an issue
and prevent it from happening in the future.
Example: An online retailer’s sales have decreased even though customers continue
to add items to their shopping carts. Diagnostics analytics helped to understand that
the payment page was not working correctly for a few weeks.
3. Predictive analytics
Predictive analytics looks at past and present data to make predictions. With artificial
intelligence (AI), machine learning, and data mining, users can analyse the data to
predict market trends.
4. Prescriptive analytics
Example: Within the energy sector, utility companies, gas producers, and pipeline
owners identify factors that affect the price of oil and gas to hedge risks.
Cost reduction: Big data can reduce costs in storing all business data in one
place. Tracking analytics also helps companies find ways to work more efficiently
to cut costs wherever possible.
Risk management: Businesses can identify risks by analysing data patterns and
developing solutions for managing those risks.
UNSTRUCTURED DATA
All data cannot be stored in the same way. The methods for data storage can be
accurately evaluated after the type of data has been identified
1. Structured data
Structured data is data whose elements are addressable for effective analysis. It
has been organized into a formatted repository that is typically a database. It concerns
5
all data which can be stored in database in a table with rows and columns. They have
relational keys and can easily be mapped into pre-designed fields. Today, those data
are most processed in the development and simplest way to manage information.
Example: Relational data.
2. Semi-Structured data
3. Unstructured data
does not have a predefined data model, thus it is not a good fit for a mainstream
relational database. So for Unstructured data, there are alternative platforms for
storing and managing, it is increasingly prevalent in IT systems and is used by
organizations in a variety of business intelligence and analytics applications. Example:
Word, PDF, Text, Media logs.
Unstructured data is the data which does not conforms to a data model and
has no easily identifiable structure such that it can not be used by a computer program
easily. Unstructured data is not organised in a pre-defined manner or does not have a
pre-defined data model, thus it is not a good fit for a mainstream relational database.
Let’s take structured data first: it’s usually stored in a relational database or
RDBMS, and is sometimes referred to as relational data. It can be easily mapped into
designated fields — for example, fields for zip codes, phone numbers, and credit cards.
Data that conforms to RDBMS structure is easy to search, both with human-defined 7
Beyond that, the lack of consistent internal structure doesn’t conform to what
typical data mining systems can work with. As a result, companies have largely been
unable to tap into value-laden data like customer interactions, rich media, and social
network conversations. Robust tools for doing so are only now being developed and
commercialized.
Social media and websites: data from social networks like Twitter, LinkedIn, and
Facebook, and websites such as Instagram, photo-sharing sites, and YouTube.
Mobile and communications data: For this category, look no further than text
messages, phone recordings, collaboration software, chat, and instant
messaging.
Media: This data includes digital photos, audio, and video files.
Scientific data: This includes oil and gas surveys, space exploration, seismic
imagery, and atmospheric data.
Digital surveillance: This category features data like reconnaissance photos and
videos.
Satellite imagery: This data includes weather data, land forms, and military
movements.
le business intelligence.
Web pages
Videos
Memos
Reports
Surveys
Data is portable
It is very scalable
Indexing the data is difficult and error prone due to unclear structure and not
having pre-defined attributes. Due to which search results are not very
accurate.
Due to unclear structure, operations like update, delete and search is very
difficult.
Here are some of the sectors where Big Data is actively used:
Ecommerce - Predicting customer trends and optimizing prices are a few of the
ways e-commerce uses Big Data analytics
Marketing - Big Data analytics helps to drive high ROI marketing operations,
10
which result in improved sales
SubCode:CCS334 Subject Name:Big Data Analytics
Department of Computer Science and Business Systems
Education - Used to develop new and improve existing courses based on market
requirements
Healthcare - With the help of a patient’s medical history, Big Data analytics is
used to predict how likely they are to have health issues
Banking - Customer income and spending patterns help to predict the likelihood
of choosing various banking offers, like loans and credit cards
In today’s world, there are a lot of data. Big companies utilize those data for their
business growth. By analyzing this data, the useful decision can be made in various
cases as discussed below:
In big retails store (like Amazon, Walmart, Big Bazar etc.) management team
has to keep data of customer’s spending habit (in which product customer spent, in
which brand they wish to spent, how frequently they spent), shopping behavior,
customer’s most liked product (so that they can keep those products in the store).
Which product is being searched/sold most, based on that data, production/collection
rate of that product get fixed.
2. Recommendation:
Amazon got data that customer may be interested to buy bed cover. Next time when
that customer will go to any google page, advertisement of various bed covers will be
seen. Thus, advertisement of the right product to the right customer can be sent.
YouTube also shows recommend video based on user’s previous liked, watched video
type. Based on the content of a video, the user is watching, relevant advertisement is
shown during video running. As an example suppose someone watching a tutorial
video of Big data, then advertisement of some other big data course will be shown
during that video.
Data about the condition of the traffic of different road, collected through
camera kept beside the road, at entry and exit point of the city, GPS device placed in
the vehicle (Ola, Uber cab, etc.). All such data are analyzed and jam-free or less jam
way, less time taking ways are recommended. Such a way smart traffic system can be
built in the city by Big data analysis. One more profit is fuel consumption can be
reduced.
At various places of flight (like propeller etc) sensors present. These sensors
capture data like the speed of flight, moisture, temperature, other environmental
condition. Based on such data analysis, an environmental parameter within flight are
set up and varied.
Big data analysis helps drive a car without human interpretation. In the various
spot of car camera, a sensor placed, that gather data like the size of the surrounding
car, obstacle, distance from those, etc. These data are being analyzed, then various
calculation like how many angles to rotate, what should be speed, when to stop, etc
carried out. These calculations help to take action automatically.
Big data analysis helps virtual personal assistant tool (like Siri in Apple Device,
Cortana in Windows, Google Assistant in Android) to provide the answer of the various
question asked by users. This tool tracks the location of the user, their local time,
season, other data related to question asked, etc. Analyzing all such data, it provides
an answer.
As an example, suppose one user asks “Do I need to take Umbrella?”, the tool
collects data like location of the user, season and weather condition at that location,
then analyze these data to conclude if there is a chance of raining, then provide the
12
answer.
7. IoT:
8. Education Sector:
9. Energy Sector:
Smart electric meter read consumed power every 15 minutes and sends this
read data to the server, where data analyzed and it can be estimated what is the time
in a day when the power load is less throughout the city. By this system manufacturing
unit or housekeeper are suggested the time when they should drive their heavy
machine in the night time when power load less to enjoy less electricity bill.
13
Big data technologies can be categorized into four main types: data storage, data
mining, data analytics, and data visualization [2]. Each of these is associated with
certain tools, and you’ll want to choose the right tool for your business needs
depending on the type of big data technology required.
1. Data storage
Big data technology that deals with data storage has the capability to fetch, store, and
manage big data. It is made up of infrastructure that allows users to store the data so
that it is convenient to access. Most data storage platforms are compatible with other
programs. Two commonly used tools are Apache Hadoop and MongoDB.
Apache Hadoop: Apache is the most widely used big data tool. It is an open-
source software platform that stores and processes big data in a distributed
computing environment across hardware clusters. This distribution allows for
faster data processing. The framework is designed to reduce bugs or faults, be
scalable, and process all data formats.
2. Data mining
Data mining extracts the useful patterns and trends from the raw data. Big data
technologies such as Rapidminer and Presto can turn unstructured and structured data
into usable information.
3. Data analytics
In big data analytics, technologies are used to clean and transform data into
information that can be used to drive business decisions. This next step (after data 14
mining) is where users perform algorithms, models, and predictive analytics using tools
such as Apache Spark and Splunk.
Apache Spark: Spark is a popular big data tool for data analysis because it is
fast and efficient at running applications. It is faster than Hadoop because it
uses random access memory (RAM) instead of being stored and processed in
batches via MapReduce . Spark supports a wide variety of data analytics tasks
and queries.
Splunk: Splunk is another popular big data analytics tool for deriving insights
from large datasets. It has the ability to generate graphs, charts, reports, and
dashboards. Splunk also enables users to incorporate artificial intelligence (AI)
into data outcomes.
4. Data visualization
Finally, big data technologies can be used to create stunning visualizations from the
data. In data-oriented roles, data visualization is a skill that is beneficial for presenting
recommendations to stakeholders for business profitability and operations—to tell an
impactful story with a simple graph.
Tableau: Tableau is a very popular tool in data visualization because its drag-
and-drop interface makes it easy to create pie charts, bar charts, box
plots, Gantt charts, and more. It is a secure platform that allows users to share
visualizations and dashboards in real time.
Looker: Looker is a business intelligence (BI) tool used to make sense of big
data analytics and then share those insights with other teams. Charts, graphs,
and dashboards can be configured with a query, such as monitoring weekly
brand engagement through social media analytics.
There are hundreds of data analytics tools out there in the market today but the
selection of the right tool will depend upon your business NEED, GOALS, and VARIETY
to get business in the right direction. Now, let’s check out the top 10 analytics tools in
big data.
1. APACHE Hadoop
It’s a Java-based open-source platform that is being used to store and process
big data. It is built on a cluster system that allows the system to process data efficiently
and let the data run parallel. It can process both structured and unstructured data from
one server to multiple computers. Hadoop also offers cross-platform support for its
users. Today, it is the best big data analytic tool and is popularly used by many tech
giants such as Amazon, Microsoft, IBM, etc. 15
2. Cassandra
3. Qubole
It’s an open-source big data tool that helps in fetching data in a value of chain
using ad-hoc analysis in machine learning. Qubole is a data lake platform that offers
end-to-end service with reduced time and effort which are required in moving data
pipelines. It is capable of configuring multi-cloud services such as AWS, Azure, and
Google Cloud. Besides, it also helps in lowering the cost of cloud computing by 50%.
Features of Qubole:
advanced security system and also ensures to protect any future breaches. Besides,
it also allows encrypting cloud data from any potential threat. Xplenty
It is a data analytic tool for building a data pipeline by using minimal codes in
it. It offers a wide range of solutions for sales, marketing, and support. With the help
of its interactive graphical interface, it provides solutions for ETL, ELT, etc. The best part
of using Xplenty is its low investment in hardware & software and its offers support
via email, chat, telephonic and virtual meetings. Xplenty is a platform to process data
for analytics over the cloud and segregates all the data together.
Features of Xplenty:
5. Spark
APACHE Spark is another framework that is used to process data and perform
numerous tasks on a large scale. It is also used to process data via multiple computers
with the help of distributing tools. It is widely used among data analysts as it offers
easy-to-use APIs that provide easy data pulling methods and it is capable of handling
multi-petabytes of data as well. Recently, Spark made a record of processing 100
terabytes of data in just 23 minutes which broke the previous world record of Hadoop
(71 minutes). This is the reason why big tech giants are moving towards spark now and
is highly suitable for ML and AI today.
Ease of use: It allows users to run in their preferred language. (JAVA, Python,
etc.)
Real-time Processing: Spark can handle real-time streaming via Spark
Streaming
Flexible: It can run on, Mesos, Kubernetes, or the cloud.
6. Mongo DB
7. Apache Storm
A storm is a robust, user-friendly tool used for data analytics, especially in small
companies. The best part about the storm is that it has no language barrier
(programming) in it and can support any of them. It was designed to handle a pool of
large data in fault-tolerance and horizontally scalable methods. When we talk about
real-time data processing, Storm leads the chart because of its distributed real-time
big data processing system, due to which today many tech giants are using APACHE
Storm in their system. Some of the most notable names are Twitter, Zendesk, NaviSite,
etc.
Features of Storm:
Data Processing: Storm process the data even if the node gets disconnected
Highly Scalable: It keeps the momentum of performance even if the load
increases
Fast: The speed of APACHE Storm is impeccable and can process up to 1 million
messages of 100 bytes on a single node.
8. SAS
Today it is one of the best tools for creating statistical modeling used by data
analysts. By using SAS, a data scientist can mine, manage, extract or update data in
different variants from different sources. Statistical Analytical System or SAS allows a
user to access the data in any format (SAS tables or Excel worksheets). Besides that it
also offers a cloud platform for business analytics called SAS Viya and also to get a
strong grip on AI & ML, they have introduced new tools and products.
Features of SAS:
9. Data Pine
Datapine is an analytical used for BI and was founded back in 2012 (Berlin, 18
Features of Datapine:
Automation: To cut down the manual chase, datapine offers a wide array of AI
assistant and BI tools.
Predictive Tool: datapine provides forecasting/predictive analytics by using
historical and current data, it derives the future outcome.
Add on: It also offers intuitive widgets, visual analytics & discovery, ad hoc
reporting, etc.
It’s a fully automated visual workflow design tool used for data analytics. It’s a
no-code platform and users aren’t required to code for segregating data. Today, it is
being heavily used in many industries such as ed-tech, training, research, etc. Though
it’s an open-source platform but has a limitation of adding 10000 data rows and a
single logical processor. With the help of Rapid Miner, one can easily deploy their ML
models to the web or mobile (only when the user interface is ready to collect real-time
figures).
Accessibility: It allows users to access 40+ types of files (SAS, ARFF, etc.) via
URL
Storage: Users can access cloud storage facilities such as AWS and dropbox
Data validation: Rapid miner enables the visual display of multiple results in
history for better evaluation.
CLOUD AND BIG DATA
1. Big Data:
Big data refers to the data which is huge in size and also increasing rapidly with
respect to time. Big data includes structured data, unstructured data as well as
semi-structured data. Big data cannot be stored and processed in traditional
data management tools it needs specialized big data management tools. It
refers to complex and large data sets having 5 V’s volume, velocity, Veracity,
Value and variety information assets. It includes data storage, data analysis, data
mining and data visualization.
19
Examples of the sources where big data is generated includes social media data, e-
commerce data, weather station data, IoT Sensor data etc.
Variability of Big data – Inconsistency which can be shown by the data at times.
Cost Savings
Better decision-making
Increased Productivity
Incompatible tools
2. Cloud Computing :
Examples of cloud computing vendors who provides cloud computing services are
Amazon Web Service (AWS), Microsoft Azure, Google Cloud Platform, IBM Cloud 20
Services etc.
Characteristics of Cloud Computing :
On-Demand availability
Elastic Scalability
Improved collaboration
Excellent accessibility
On-Demand Self-service.
Vendor lock-in
Limited Control
Security Concern
Big data refers to the data which is Cloud computing refers to the on
01. huge in size and also increasing demand availability of computing
rapidly with respect to time. resources over internet.
21
Value of data are considered as the 5 elasticity and measured service are
most important characteristics of Big considered as the main characteristics
data. of cloud computing.
Some of the challenges of big data are Some of the challenges of cloud
variety of data, data storage and computing are availability,
07.
integration, data processing and transformation, security concern,
resource management. charging model.
WEB ANALYTICS
Web Analytics or Online Analytics refers to the analysis of quantifiable and measurable
data of your website with the aim of understanding and optimizing the web usage.
web analytics used to track key metrics and analyze visitors’ activity and traffic flow. It
is a tactical approach to collect data and generate reports. It is an ongoing process
that helps in attracting more traffic to a site and thereby, increasing the Return on
Investment.
The amount of traffic your website received over a specified period of time.
Web analytics improves online experience for your customers and elevates your
business prospects. There are various Web Analytics tools available in the market. For
example, Google Analytics, Kissmetrics, Optimizely, etc.
Web Analytics needed to assess the success rate of a website and its associated
business. Using Web Analytics, we can − 23
The primary objective of carrying out Web Analytics is to optimize the website in order
to provide better user experience. It provides a data-driven report to measure visitors’
flow throughout the website.
Take a look at the following illustration. It depicts the process of web analytics.
To track the goal achievement, set the Key Performance Indicators (KPI).
Count
Ratio
It is typically a count divided by some other count. For example, Page views per
visit.
It depends upon the business type and strategy. KPI varies from one business to
another.
Google Analytics gives you more insight data accurately. You can understand the
data at two levels micro level and macro level.
It is concerned with the primary business objectives with huge groups of people
such as communities, nation, etc. For example, number of conversions in a
particular demographic.
Engagement Rate
It shows how long a person stays on your web page. What all pages he surf.
To make your web pages more engaging, include informative content, visuals,
fonts and bullets.
Bounce Rate
If a person leaves your website within a span of 30 sec, it is considered as a
bounce. The rate at which users spin back is called the bounce rate. To
minimize bounce rate include related posts, clear call-to-action and backlinks
in your webpages.
Dashboards
Dashboard is single page view of information important to user. You can
create your own dashboards keeping in mind your requirements. You may
keep only frequently viewed data on dashboard.
Event Tracking
Event tracking allows you to track other activities on your website. For
example, you can track downloads and sign-ups through event tracking. 25
Traffic Source
You can overview traffic sources. You can even filter it further. Figuring out the
key areas can help you learn about the area of improvement.
Annotations
It allows you to view a traffic report for past time. You can click on graph and
type in to save it for future study.
Visitor Flow
It gives you a clear picture of pages visited and the sequence of the same.
Understanding users’ path may help you in re-navigation in order to give
customer a hassle-free navigation.
Content
It gives you insight about website’s content section. You can see how each
page is doing, website loading speed, etc.
Conversions
Analytics lets you track goals and path used to achieve these goals. You can
get details regarding, product performances, purchase amount, and mode of
billing. Web Analytics offer you more than this. All you need is to analyze
things minutely and keep patience.
Page Load Time
More is the load time, the more is bounce rate. Tracking page load time is
equally important.
Behavior
Behavior lets you know page views and time spent on website. You can find
out how customer behaves once he is on your website.
“Business Intelligence is not just about turning data into information, rather
organizations need that data to impact how their business operates and responds to
the changing marketplace.”
So, it is not all about transforming data into information, though Business Intelligence
significantly involves this process. Business Intelligence is transforming data into
meaningful, actionable insights that enable organizations to make informed business
strategies and tactical decisions.
Business Intelligence delivers relevant and trustworthy information to the right person
at the right time. Mobile business intelligence is the transfer of business
intelligence from the desktop to mobile devices such as the BlackBerry, iPad, and 26
iPhone.
The ability to access analytics and data on mobile devices or tablets rather than
desktop computers is referred to as mobile business intelligence. The business metric
dashboard and key performance indicators (KPIs) are more clearly displayed.
With the rising use of mobile devices, so have the technology that we all utilise in our
daily lives to make our lives easier, including business. Many businesses have benefited
from mobile business intelligence. Essentially, this post is a guide for business owners
and others to educate them on the benefits and pitfalls of Mobile BI.
Mobile phones' data storage capacity has grown in tandem with their use. You are
expected to make decisions and act quickly in this fast-paced environment. The
number of businesses receiving assistance in such a situation is growing by the day.
To expand your business or boost your business productivity, mobile BI can help, and
it works with both small and large businesses. Mobile BI can help you whether you are
a salesperson or a CEO. There is a high demand for mobile BI in order to reduce
information time and use that time for quick decision making.
Data analytics and visualisation techniques are essential skills for any team that wants
to organise work, develop new project proposals, or wow clients with impressive
presentations.
Advantages of mobile BI
1. Simple access
Mobile BI is not restricted to a single mobile device or a certain place. You can view
your data at any time and from any location. Having real-time visibility into a firm
improves production and the daily efficiency of the business. Obtaining a company's
perspective with a single click simplifies the process.
2. Competitive advantage
Many firms are seeking better and more responsive methods to do business in order
to stay ahead of the competition. Easy access to real-time data improves company
opportunities and raises sales and capital. This also aids in making the necessary
decisions as market conditions change.
3. Simple decision-making
As previously stated, mobile BI provides access to real-time data at any time and
from any location. During its demand, Mobile BI offers the information. This assists 27
consumers in obtaining what they require at the time. As a result, decisions are
made quickly.
4. Increase Productivity
Disadvantages of mobile
1. Stack of data
The primary function of a mobile BI is to store data in a systematic manner and then
present it to the user as required. As a result, Mobile BI stores all of the information
and does end up with heaps of earlier data. The corporation only needs a small
portion of the previous data, but they need to store the entire information, which
ends up in the stack
2. Expensive
Mobile BI can be quite costly at times. Large corporations can continue to pay for
their expensive services, but small businesses cannot. As the cost of mobile BI is not
sufficient, we must additionally consider the rates of IT workers for the smooth
operation of BI, as well as the hardware costs involved. However, larger
corporations do not settle for just one Mobile BI provider for their organisations;
they require multiple. Even when doing basic commercial transactions, mobile BI is
costly.
3 Time consuming
Businesses prefer Mobile BI since it is a quick procedure. Companies are not patient
enough to wait for data before implementing it. In today's fast-paced environment,
anything that can produce results quickly is valuable. The data from the warehouse
is used to create the system, hence the implementation of BI in an enterprise takes
more than 18 months.
4 Data breach
The biggest issue of the user when providing data to Mobile BI is data leakage. If
you handle sensitive data through Mobile BI, a single error can destroy your data as
well as make it public, which can be detrimental to your business.
Many Mobile BI providers are working to make it 100 percent secure to protect their
potential users' data. It is not only something that mobile BI carriers must consider,
but it is also something that we, as users, must consider when granting data access
authorization.
28
Because we work online in every aspect, we have a lot of data stored in Mobile BI,
which might be a significant problem. This means that a large portion of the data
analysed by Mobile BI is irrelevant or completely useless. This can speed down the
entire procedure. This requires you to select the data that is important and may be
required in the future.
1. Si Sense
Since then, the team has only taken precautionary steps in their investigation. Once
the company had received $ 4 million in funding from investors, they began to pace
its research.
Roambi analytics is a BI tool that offers a solution that allows you to fundamentally
rethink your data analysis, making it easier and faster while also increasing your data
interaction.
You can consolidate all of your company's data in a single tool using SAP Roambi
Analytics, which integrates all ongoing systems and data. Use of SAP Roambi
analysis is a simple three-step technique. Upload your html or spreadsheet files first.
The information is subsequently transformed into informative data or graphs, as
well as data that may be visualised.
After the data is collected, you may easily share it with your preferred device.
Roambi Analytics was founded in 2008 by a team based in California.
Amazon Quick Sight allows you to quickly and easily create interactive
dashboards and reports for your users. Anyone in your organisation can
securely access those dashboards via browsers or mobile devices.
Quick sight's eye-catching feature is its pay-per-session model, which allows users
to use the creative dashboard created by another without paying much. The user
pays according to the length of the session, with prices ranging from $0.30 for a
30-minute session to $5 for unlimited use per month per user.
Let us understand this term deeply with the help of an example. Like
GeeksforGeeks is giving young minds an opportunity to share their knowledge with
the world by contributing articles, videos of their respective domain. Here
GeeksforGeeks is using the crowd as a source not only to expand their community but
also to include ideas of several young minds improving the quality of the content.
1. Enterprise
2. IT
3. Marketing
4. Education
5. Finance
How to Crowdsource?
Examples of Crowdsourcing
4. Airbnb: A very famous travel website that offers people to rent their houses or
apartments by listing them on the website. All the listings are crowdsourced by
people.
Crowdsourced Marketing
Crowdsourcing Sites
1. Kickstarter
2. GoFundMe
3. Patreon
4. RocketHub
Advantages of Crowdsourcing
2. Save costs: There is the elimination of wastage of time of meeting people and
convincing them. Only the business idea is to be proposed on the internet and
you will be flooded with suggestions from the crowd.
Disadvantages of Crowdsourcing
1. Lack of confidentiality: Asking for suggestions from a large group of people can
bring the threat of idea stealing by other organizations.
33
34
Inter-firewall analytics
35
36
37
Trans-firewall analytics
Benefits: Provides insight into previously hidden threats within encrypted traffic
and helps detect sophisticated attacks.
Limitations: Requires specialized hardware and software solutions for DPI, and
raises concerns regarding potential data privacy violations.
Network size and complexity: Larger and more complex networks benefit
more from inter-firewall analytics for comprehensive
monitoring.
38
SubCode:CCS334
SubCode:CCS334Subject Name:BigData
Subject Name:Big Data Analytics
Analytics 41
Department of Computer Science and Business Systems
SubCode:CCS334 Subject
SubCode:CCS334 Name:Big
Subject Data Analytics
Name:Big Data Analytics 43
Department of Computer Science and Business Systems
SubCode:CCS334
SubCode:CCS334Subject Name:BigData
Subject Name:Big Data Analytics
Analytics 47
Department of Computer Science and Business Systems
SubCode:CCS334Subject
SubCode:CCS334 Subject Name:Big
Name:Big Data Analytics
Data Analytics 56
Department of Computer Science and Business Systems
SubCode:CCS334
SubCode:CCS334 SubjectName:Big
Subject Name:Big Data
DataAnalytics
Analytics 58
Department of Computer Science and Business Systems
SubCode:CCS334 Subject
SubCode:CCS334 Name:Big
Subject Name:BigData Analytics
Data Analytics
61
Department of Computer Science and Business Systems
SubCode:CCS334
SubCode:CCS334 SubjectName:Big
Subject Name:Big Data
DataAnalytics
Analytics 65
Department of Computer Science and Business Systems
SubCode:CCS334
SubCode:CCS334Subject
Subject Name:Big Data
Name:Big Data Analytics
Analytics 67
Department of Computer Science and Business Systems
SubCode:CCS334
SubCode:CCS334Subject Name:BigData
Subject Name:Big Data Analytics
Analytics 69
Department of Computer Science and Business Systems
UNIT - III
MapReduce
• Job Tracker– Just like the storage (HDFS), the computation (MapReduce) also
works in a master-slave / master-worker fashion. A Job Tracker node acts as the
Master and is responsible for scheduling / executing Tasks on appropriate nodes,
coordinating the execution of tasks, sending the information for the execution of
tasks, getting the results back after the execution of each task, re-executing the failed
Tasks, and monitors / maintains the overall progress of the Job. Since a Job consists
of multiple Tasks, a Job’s progress depends on the status / progress of Tasks
associated with it. There is only one Job Tracker node per Hadoop Cluster.
• Map() – Map Task in MapReduce is performed using the Map() function. This part
of the MapReduce is responsible for processing one or more chunks of data and
producing the output results.
• Reduce() – The next part / component / stage of the MapReduce programming
model is the Reduce() function. This part of the MapReduce is responsible for
consolidating the results produced by each of the Map() functions/tasks.
• Data Locality – MapReduce tries to place the data and the compute as close as
possible. First, it tries to put the compute on the same node where data resides, if that
cannot be done (due to reasons like compute on that node is down, compute on that
node is performing some other computation, etc.), then it tries to put the compute on the node nearest to
the respective data node(s) which contains the data to be processed. This feature of MapReduce is
“Data Locality”.
The following diagram shows the logical flow of a MapReduce programming model.
Game Example
Say you are processing a large amount of data and trying to find out what percentage of your user
base where talking about games. First, we will identify the keywords which we are going to map
from the data to conclude that it’s something related to games. Next, we will write a mapping function
to identify such patterns in our data. For example, the keywords can be Gold medals, Bronze medals,
Silver medals, Olympic football, basketball, cricket, etc.
Let us take the following chunks in a big data set and see how to process it.
football”
Christmas”
In the same way, we can define n number of mapping functions for mapping various words:
“Olympics”, “Gold Medals”, “cricket”, etc.
Reducing Phase – The reducing function will accept the input from all these mappers in form of key
value pair and then processing it. So, input to the reduce function will look like the following:
reduce (“football”=>2)
reduce (“Olympics”=>3)
Now, getting into a big picture we can write n number of mapper functions here. Let us say that you
want to know who all where wishing each other. In this case you will write a mapping function to map
the words like “Wishing”, “Wish”, “Happy”, “Merry” and then will write a corresponding reducer
function.
Here you will need one function for shuffling which will distinguish between the “games” and
“wishing” keys returned by mappers and will send it to the respective reducer function. Similarly you
may need a function for splitting initially to give inputs to the mapper functions in form of chunks. The
following diagram summarizes the flow of Map reduce algorithm:
• The input data can be divided into n number of chunks depending upon the amount
of data and processing capacity of individual unit.
• Next, it is passed to the mapper functions. Please note that all the chunks are
processed simultaneously at the same time, which embraces the parallel processing
of data.
• After that, shuffling happens which leads to aggregation of similar patterns.
• Finally, reducers combine them all to get a consolidated output as per the logic.
• This algorithm embraces scalability as depending on the size of the input data, we
can keep increasing the number of the parallel processing units.
MRUnit allows you to do TDD(Test Driven Development) and write lightweight unit tests which
accommodate Hadoop’s specific architecture and constructs.
Example: We’re processing road surface data used to create maps. The input contains both linear
surfaces and intersections. The mapper takes a collection of these mixed surfaces as input, discards
anything that isn’t a linear road surface, i.e., intersections, and then processes each road surface and
SubCode:CCS334 Subject Name:Big Data Analytics 74
Department of Computer Science and Business Systems
writes it out to HDFS. We can keep count and eventually print out how many non-road surfaces are
inputs. For debugging purposes, we can additionally print out how many road surfaces were processed.
• The MapReduce application master, which coordinates the tasks running the
MapReduce job. The application master and the MapReduce tasks run in containers
That are scheduled by the resource manager and managed by the node managers.
• The distributed filesystem, which is used for sharing job files between the other entities.
• He distributed filesystem ,which is used for sharing job files between the other entities.
Classic MapReduce
A job run in classic MapReduce is illustrated in Figure 6-1. At the highest level, there are four
independent entities:
• The client, which submits the MapReduce job.
• The jobtracker, which coordinates the job run. The jobtracker is a Java application whose
Job Initialization:
When the JobTracker receives a call to its submitJob() method, it puts it into an internal queue from
where the job scheduler will pick it up and initialize it. Initialization involves creating an object to
represent the job being run.
To create the list of tasks to run, the job scheduler first retrieves the input splits computed by the client
from the shared filesystem. It then creates one map task for each split.
Task Assignment:
Tasktrackers run a simple loop that periodically sends heartbeat method calls to the jobtracker.
Heartbeats tell the jobtracker that a tasktracker is alive As a part of the heartbeat, a tasktracker will
indicate whether it is ready to run a new task, and if it is, the jobtracker will llocate it a task, which
it communicates to the tasktracker using the heartbeat return value.
Task Execution:
Now that the tasktracker has been assigned a task, the next step is for it to run the task. First, it localizes
the job JAR by copying it from the shared filesystem to the tasktracker’s filesystem. It also copies any
files needed from the distributed cache by the application to the local disk. TaskRunner launches a new
Java Virtual Machine to run each task in.
Job Completion:
When the jobtracker receives a notification that the last task for a job is complete (this will be the
special job cleanup task), it changes the status for the job to “successful.”
YARN
Yet Another Resource Manager takes programming to the next level beyond Java , and makes it
interactive to let another application Hbase, Spark etc. to work on it.Different Yarn applications can co-
exist on the same cluster so MapReduce, Hbase, Spark all can run at the same time bringing great
benefits for manageability and cluster utilization.
Components Of YARN
o Client: For submitting MapReduce jobs.
o Map Reduce Application Master: Checks tasks running the MapReduce job. The
application master and the MapReduce tasks run in containers that are scheduled by
the resource manager, and managed by the node managers.
Jobtracker&Tasktrackerwere were used in previous version of Hadoop, which were responsible for
handling resources and checking progress management. However, Hadoop
2.0 has Resource manager and NodeManager to overcome the shortfall of
Jobtracker&Tasktracker.
Benefits of YARN
o Scalability: Map Reduce 1 hits ascalability bottleneck at 4000 nodes and 40000
task, but Yarn is designed for 10,000 nodes and 1 lakh tasks.
o Utiliazation: Node Manager manages a pool of resources, rather than a fixed
number of the designated slots thus increasing the utilization.
o Multitenancy: Different version of MapReduce can run on YARN, which makes the
process of upgrading MapReduce more manageable.
SubCode:CCS334 Subject Name:Big Data Analytics 78
Department of Computer Science and Business Systems
MapReduce Types
Mapping is the core technique of processing a list of data elements that come in pairs of keys and
values. The map function applies to individual elements defined as key-value pairs of a list and
produces a new list. The general idea of map and reduce function of Hadoop can be illustrated as
follows:
map: (K1, V1) -> list (K2, V2)
reduce: (K2, list(V2)) -> list (K3, V3)
The input parameters of the key and value pair, represented by K1 and V1 respectively, are different
from the output pair type: K2 and V2. The reduce function accepts the same format output by the map,
but the type of output again of the reduce operation is different: K3 and V3. The Java API for this is as
follows:
}
public interface Reducer<K2, V2, K3, V3> extends JobConfigurable,Closeable
{
void reduce(K2 key, Iterator<V2> values,
The OutputCollector is the generalized interface of the Map-Reduce framework to facilitate collection
of data output either by the Mapper or the Reducer. These outputs are nothing but
intermediate output of the job. Therefore, they must be parameterized with their types. The Reporter
facilitates the Map-Reduce application to report progress andupdatecountrsand status information. If,
however, the combine function is used, it has
the same form as the reduce function and the output is fed to the reduce function. This may be
illustrated as follows
JobConfigurable
UNIT IV
BASICS OF HADOOP 6
Data format – analyzing data with Hadoop – scaling out – Hadoop streaming – Hadoop
pipes – design of Hadoop distributed file system (HDFS) – HDFS concepts – Java
interface – data flow – Hadoop I/O – data integrity – compression – serialization – Avro
– file-based data structures - Cassandra – Hadoop integration.
Key Components:
Advantages of Hadoop:
• Scalability: Hadoop can handle and process vast amounts of data by distributing
it across a cluster of machines.
• Fault Tolerance: Hadoop is fault-tolerant, meaning it can recover from failures,
ensuring that data processing is not disrupted.
• Cost-Effective: It allows businesses to store and process large datasets cost-
effectively, as it can run on commodity hardware.
Prerequisites:
bash
wget https://archive.apache.org/dist/hadoop/common/hadoop-X.Y.Z/hadoop-
X.Y.Z.tar.gz
Step 2: Extract Hadoop 3. Extract the downloaded Hadoop tarball to your desired
directory (e.g., /usr/local/):
bash
sudo tar -xzvf hadoop-X.Y.Z.tar.gz -C /usr/local/
bash
export HADOOP_HOME=/usr/local/hadoop-X.Y.Z
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
bash
source ~/.bashrc
Step 4: Edit Hadoop Configuration Files 5. Navigate to the Hadoop configuration directory:
bash
cd $HADOOP_HOME/etc/hadoop
6. Edit the hadoop-env.sh file to specify the Java home directory. Add the following
line to the file, pointing to your Java installation:
bash
export JAVA_HOME=/usr/lib/jvm/default-java
xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
8. Configure Hadoop's hdfs-site.xml by editing it and adding the following XML
snippet. This sets the HDFS data and metadata directories:
xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop-X.Y.Z/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop-X.Y.Z/data/datanode</value>
</property>
Step 5: Format the HDFS Filesystem 9. Before starting Hadoop services, you need to
format the HDFS filesystem. Run the following command:
bash
hdfs namenode -format
Step 6: Start Hadoop Services 10. Start the Hadoop services using the following command:
bash
start-all.sh
Step 7: Verify Hadoop Installation 11. Check the running Hadoop processes using the jps
command:
bash
jps
You should see a list of Java processes running, including NameNode, DataNode,
ResourceManager, and NodeManager.
Step 8: Access Hadoop Web UI 12. Open a web browser and access the Hadoop Web UI at
http://localhost:50070/ (for HDFS) and http://localhost:8088/ (for YARN ResourceManager).
You have successfully installed Hadoop on a single-node cluster. You can now use it for
learning and experimenting with Hadoop and MapReduce.
• Text Files: Simple plain text files, where each line represents a record.
• Sequence Files: Binary files containing serialized key/value pairs.
• Avro: A data serialization system that provides rich data structures in a compact
binary format.
• Parquet: A columnar storage file format optimized for use with Hadoop.
Analyzing data with Hadoop involves understanding the data format and structure, as
well as using appropriate tools and techniques for processing and deriving insights from
the data. Here are some key considerations when it comes to data format and analysis
with Hadoop:
1. Data Format:
2. Data Ingestion:
• Before you can analyze data with Hadoop, you need to ingest it into the Hadoop
Distributed File System (HDFS) or another storage system compatible with
Hadoop. Tools like Apache Flume or Apache Sqoop can help with data ingestion.
3. Data Processing:
• Hadoop primarily uses the MapReduce framework for batch data processing. You
write MapReduce jobs to specify how data should be processed. However, there
are also high- level processing frameworks like Apache Spark and Apache Flink
that provide more user-
friendly abstractions and real-time processing capabilities.
4. Data Analysis:
• For SQL-like querying of structured data, you can use Apache Hive, which
provides a SQL interface to Hadoop. Hive queries get translated into MapReduce
or Tez jobs.
• Apache Pig is a scripting language specifically designed for data processing in
Hadoop. It's useful for ETL (Extract, Transform, Load) tasks.
• For advanced analytics and machine learning, you can use Apache Spark, which
provides MLlib for machine learning tasks, and GraphX for graph processing.
• Hadoop provides various storage formats optimized for analytics (e.g., Parquet,
ORC) and supports data compression to reduce storage requirements and
improve processing speed.
• Hadoop can automatically partition data into smaller chunks and shuffle it across
nodes to optimize the processing pipeline.
• Hadoop offers mechanisms for securing data and controlling access through
authentication, authorization, and encryption.
8. Data Visualization:
• To make sense of the analyzed data, you can use data visualization tools like
Apache Zeppelin or integrate Hadoop with business intelligence tools like
Tableau or Power BI.
9. Performance Tuning:
• Regularly monitor the health and performance of your Hadoop cluster using
tools like Ambari or Cloudera Manager. Perform routine maintenance tasks to
ensure smooth operation.
Analyzing data with Hadoop involves a combination of selecting the right data format,
processing tools, and techniques to derive meaningful insights from your data.
Depending on your specific use case, you may need to choose different formats and
tools to suit your needs.
Scaling Hadoop:
4.5HADOOP PIPES
1. org.apache.hadoop.mapreduce Package:
o Mapper: Interface for the mapper task in a MapReduce
job.
o Reducer: Interface for the reducer task in a MapReduce
job.
o Job: Represents a MapReduce job configuration.
o InputFormat: Specifies the input format of the job.
o OutputFormat: Specifies the output format of the job.
o Configuration: Represents Hadoop configuration
properties.
2. org.apache.hadoop.fs Package:
o FileSystem: Interface representing a file
system in Hadoop (HDFS, local file system,
etc.).
o Path: Represents a file or directory path in Hadoop.
3. org.apache.hadoop.io Package:
o Writable: Interface for custom Hadoop data types.
o WritableComparable: Interface for custom
data types that are comparable and
writable.
1. Input Phase:
o Input data is read from one or more
sources, such as HDFS files, HBase tables, or
other data storage systems.
o Input data is divided into input splits, which
are processed by individual mapper tasks.
2. Map Phase:
o Mapper tasks process the input splits and produce
intermediate key-value pairs.
o The intermediate data is partitioned, sorted,
and grouped by key before being sent to
the reducers.
3. Shuffle and Sort Phase:
o Intermediate data from all mappers is shuffled and
sorted based on keys.
o Data with the same key is grouped
together, and each group of data is sent to
a specific reducer.
4. Reduce Phase:
o Reducer tasks receive sorted and grouped
intermediate data.
o Reducers process the data and produce the
final output key-value pairs, which are
typically written to HDFS or another storage
system.
5. Output Phase:
SubCode:CCS334 Subject Name:Big Data Analytics
96
Department of Computer Science and Business Systems
1. Replication:
o HDFS stores multiple replicas of each block
across different nodes. If a replica is
corrupted, Hadoop can use one of the other
replicas to recover the lost data.
2. Checksums:
o HDFS uses checksums to validate the
integrity of data blocks. Each block is
associated with a checksum, which is verified
by both the client reading the data and the
DataNode storing the data. If a block's
checksum doesn't match the expected value,
Hadoop knows the data is corrupted and
can request it from another node.
3. Write Pipelining:
o HDFS pipelines the data through several
nodes during the writing process. Each node
in the pipeline verifies the checksums before
passing the data to the next node. If a node
detects corruption, it can request the block
from another replica.
4. Error Detection and Self-healing:
o Hadoop can detect corrupted blocks and
automatically replace them with healthy
SubCode:CCS334 Subject Name:Big Data Analytics
97
Department of Computer Science and Business Systems
1. Compression:
o Hadoop supports various compression
algorithms like Gzip, Snappy, and LZO.
Compressing data before storing it in HDFS
can significantly reduce storage
requirements and improve the efficiency of
data processing. You can specify the
compression codec when writing data to
HDFS or when configuring MapReduce jobs.
Serialization:
java
// Writing Avro data to
HDFS
DatumWriter<YourAvroReco
rd> datumWriter = new
SpecificDatumWriter<>(Yo
urAvroRecord.class);
DataFileWriter<YourAvroR
ecord> dataFileWriter =
new
DataFileWriter<>(datumWr
iter);
dataFileWriter.create(yourAvroRecord.getSchema(), new
File("output.avro"));
dataFileWriter.append(yourAvroRecord);
dataFileWriter.close();
Key Concepts:
json
"type": "record",
"
n
a
m
e
"
:
"
U
s
e
r
"
,
"
f
i
e
l
d
s
"
:
[
{"name": "name", "type": "string"},
{"name": "age", "type": "int"},
{"name": "address", "type": "string"}
]
}
{
1.
2. Serialization: Avro encodes data using the defined
schema, producing compact binary files. Avro data
is self-describing, meaning that the schema is
embedded in the data itself.
3. Deserialization: Avro can deserialize the data
Integration Strategies:
130
SubCode:CCS334 Subject Name:Big Data Analytics