

{"id":187,"date":"2016-06-04T11:47:58","date_gmt":"2016-06-04T11:47:58","guid":{"rendered":"http:\/\/data-flair.training\/blogs\/?p=187"},"modified":"2018-12-05T12:03:50","modified_gmt":"2018-12-05T06:33:50","slug":"spark-notes","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/spark-notes\/","title":{"rendered":"Spark Notes for Beginners &amp; Experienced"},"content":{"rendered":"<h2>1. Objective &#8211; Spark notes<\/h2>\n<p>In this Apache Spark Notes, we will discuss the next-gen Big Data tool <strong>Apache Spark<\/strong>. Spark is an open source, wide range data processing engine with revealing development API\u2019s, that qualify data workers to accomplish Spark streaming, machine learning or SQL workloads which demand repeated access to data sets.<\/p>\n<p>This blog of Spark Notes, answers to what is Apache Spark, what is the need of Spark, what are the Spark components and what are their roles, how Apache Spark is used by <strong><a href=\"http:\/\/data-flair.training\/blogs\/valuable-skills-to-become-successful-data-scientist\/\">data scientist<\/a><\/strong>? We will also discuss various features and <strong><a href=\"http:\/\/data-flair.training\/blogs\/limitations-of-apache-spark-overcome-spark-drawbacks\/\">limitations of Spark<\/a><\/strong>\u00a0in this Spark Notes.<\/p>\n<p>So, let&#8217;s start Spark Notes tutorial.<\/p>\n<div id=\"attachment_44419\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-44419\" class=\"wp-image-44419 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01.jpg\" alt=\"Spark Notes for Beginners &amp; Experienced\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01-1024x536.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01-520x272.jpg 520w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-44419\" class=\"wp-caption-text\">Spark Notes for Beginners &amp; Experienced<\/p><\/div>\n<h2>2. Spark Notes &#8211; What is Spark?<\/h2>\n<p><strong>Apache Spark<\/strong> is an open source, wide range data processing engine with revealing development API\u2019s, that qualify data workers to accomplish streaming in spark, machine learning or SQL workloads which demand repeated access to data sets. It is designed in such a way that it can perform<a href=\"https:\/\/data-flair.training\/blogs\/batch-processing-vs-real-time-processing\/\"> <strong>batch processing<\/strong><\/a> (processing of the previously collected job in a single batch) and stream processing (deal with streaming data). It is a general purpose, cluster computing platform.<br \/>\nSpark is designed in such a way that it integrates with all the<strong> <a href=\"http:\/\/data-flair.training\/blogs\/why-learn-big-data-use-cases\/\">Big data<\/a><\/strong> tools. For example, Spark can access any Hadoop data source and can run on <strong><a href=\"http:\/\/data-flair.training\/blogs\/install-hadoop-2-x-ubuntu-hadoop-multi-node-cluster\/\">Hadoop clusters<\/a><\/strong>. Spark extends Hadoop\u00a0MapReduce to next level which includes iterative queries and stream processing.<\/p>\n<p>MapReduce is a programming paradigm\u00a0that allows scalability across thousands of server in Hadoop cluster. Spark is highly accessible and offers simple APIs in Python, Java, Scala, and <strong><a href=\"http:\/\/data-flair.training\/blogs\/r-programming-tutorial\/\">R<\/a><\/strong>.<\/p>\n<p>There is a common belief that Apache Spark is an extension of Hadoop, which is not true. Spark is independent of Hadoop because it has its own cluster management system<strong>.<\/strong> It uses Hadoop for storage purpose only.<\/p>\n<p>The key<strong><a href=\"http:\/\/data-flair.training\/blogs\/apache-spark-features\/\"> feature of Spark<\/a><\/strong> is that it has in-memory cluster computation capability. That increases the processing speed of an application. The <a href=\"http:\/\/data-flair.training\/blogs\/apache-spark-in-memory-computing\/\"><strong>in-memory computing<\/strong><\/a> means using a type of middleware software that allows one to store data in RAM, across a cluster of computers, and process it in parallel.<\/p>\n<p>As we know that the images are the worth of a thousand words. To keep this in mind we have also provided <a href=\"https:\/\/data-flair.training\/blogs\/introduction-to-apache-spark-video-tutorial\/\"><strong>Spark video tutorial<\/strong><\/a>\u00a0for more understanding of Apache Spark.<\/p>\n<h2>3. Spark Notes &#8211; Spark\u00a0History<\/h2>\n<p>Apache Spark is a subproject of Hadoop developed in the year 2009 by <strong>Matei Zaharia<\/strong> in UC Berkeley\u2019s AMPLab. The first users of Spark were the group inside UC Berkeley including machine learning researchers, which used Spark to monitor and predict traffic congestion in the San Francisco Bay Area. Spark has open sourced in the year 2010 under BSD license. Spark became a project of Apache Software Foundation in the year 2013 and is now the biggest project of Apache foundation.<\/p>\n<h2>4. Why Spark?<\/h2>\n<p>This section of Spark notes, we cover the needs\u00a0of Spark. Apache Spark was developed to overcome the<strong><a href=\"http:\/\/data-flair.training\/blogs\/limitations-of-hadoop\/\"> limitations of Hadoop<\/a><\/strong> MapReduce cluster computing paradigm. Some of the drawbacks of Hadoop MapReduce are:<\/p>\n<ul>\n<li>Use only <a href=\"https:\/\/data-flair.training\/blogs\/java-tutorial\/\"><strong>Java<\/strong><\/a> for application building.<\/li>\n<li>Since the maximum framework is written in Java there is some security concern. Java being heavily exploited by cybercriminals this may result in numerous security breaches.<\/li>\n<li>Opt only for batch processing. Does not support stream processing.<\/li>\n<li>Hadoop MapReduce uses disk-based processing.<\/li>\n<\/ul>\n<p>Due to\u00a0these weaknesses of <a href=\"http:\/\/data-flair.training\/blogs\/hadoop-mapreduce-tutorial-comprehensive-guide-beginners\/\"><strong>Hadoop MapReduce<\/strong><\/a> Apache Spark come into the picture. Features of Spark listed below explains that how Spark overcomes the limitations of Hadoop MapReduce.<\/p>\n<h2>5. Features of\u00a0Apache Spark<\/h2>\n<p>In this section of Spark notes, we will discuss various Spark features, which takes Spark to the limelight.<\/p>\n<h3>a. Swift Processing<\/h3>\n<p>The key feature required for Bigdata evaluation is speed. With Apache Spark, we get swift processing speed of up to 100x faster in memory and 10x faster than Hadoop even when running on disk. It is achieved by reducing the number of read-write to disk.<\/p>\n<h3>b. Dynamic<\/h3>\n<p>Because of 80 high-level operators present in Apache Spark, it makes it possible to develop parallel applications. <a href=\"http:\/\/data-flair.training\/blogs\/why-you-should-learn-scala-introductory-tutorial\/\"><strong>Scala<\/strong><\/a> being defaulted language for Spark. We can also work with Java,<a href=\"https:\/\/data-flair.training\/blogs\/python-tutorial-for-beginners\/\"><strong> Python<\/strong><\/a>, R. Hence, it provides dynamicity and overcomes the limitation of Hadoop MapReduce that it can build applications only in java.<\/p>\n<h3>c. In &#8211; Memory Processing<\/h3>\n<p>Disk seeks is becoming\u00a0very costly with increasing volumes of data. Reading terabytes to petabytes of data from disk and writing back to disk, again and again, is not acceptable. Hence in-memory processing in Spark works as a\u00a0boon to increasing the processing speed. Spark keeps data in memory for faster access. Keeping data in servers&#8217; RAM as it makes accessing stored data quickly \/faster.<br \/>\nSpark owns advanced <strong><a href=\"http:\/\/data-flair.training\/blogs\/directed-acyclic-graph-dag-in-apache-spark\/\">DAG <\/a><\/strong>execution engine which facilitates in-memory computation and acyclic data flow resulting high speed. You can find out the <strong><a href=\"http:\/\/data-flair.training\/blogs\/apache-spark-in-memory-computing\/\">more detail about Spark in-memory computation<\/a><\/strong>.<\/p>\n<h3>d. Reusability<\/h3>\n<p>Apache Spark provides the provision of code reusability for batch processing, join streams against historical data, or run adhoc queries on stream state.<\/p>\n<h3>e. Fault Tolerance<\/h3>\n<p>Spark<strong>\u00a0<a href=\"http:\/\/data-flair.training\/blogs\/resilient-distributed-datasets-rdd-apache-spark\/\">RDD<\/a>\u00a0<\/strong>(Resilient Distributed Dataset), abstraction are designed to seamlessly handle failures of any worker nodes in the cluster. Thus, the loss of data and information is negligible. Follow this guide to learn <strong><a href=\"http:\/\/data-flair.training\/blogs\/apache-spark-streaming-fault-tolerance\/\">how fault tolerance is achieved in Spark?<\/a><\/strong><\/p>\n<h3>f. Real-Time Stream Processing<\/h3>\n<p>Spark Streaming can handle real-time stream processing along with the integration of other frameworks which concludes that sparks streaming ability are easy, fault tolerance and Integrated. Refer <strong><a href=\"http:\/\/data-flair.training\/blogs\/apache-spark-streaming-comprehensive-guide\/\">Spark Streaming Tutorial<\/a><\/strong> for detailed study.<\/p>\n<h3>g. Pillar to Sophisticated Analytics<\/h3>\n<p>Spark comes with tools for interactive\/declarative queries, streaming data, machine learning which is an addition to the simple map and reduces, so that user can combine all this into a single workflow.<\/p>\n<h3>h. Compatibility with Hadoop &amp; existing Hadoop Data<\/h3>\n<p>Apache Spark is compatible with both versions of Hadoop ecosystem. Be it <strong><a href=\"http:\/\/data-flair.training\/blogs\/hadoop-yarn-tutorial\/\">YARN<\/a><\/strong> (Yet Another Resource Negotiator) or SIMR (Spark in MapReduce). It can read anything existing Hadoop data that\u2019s what makes it suitable for migration of pure Hadoop applications. It can run independently too. Follow this link if you would like to know <strong><a href=\"http:\/\/data-flair.training\/blogs\/apache-spark-hadoop-compatibility\/\">how Spark is compatible with Hadoop?<\/a><\/strong><\/p>\n<h3>i. Lazy Evaluation<\/h3>\n<p>Lazy Evaluation\u00a0is an Another outstanding feature of Apache Spark is called by need or memorization. It waits for instructions before providing a final result which saves time. Learn <strong><a href=\"http:\/\/data-flair.training\/blogs\/lazy-evaluation-in-apache-spark-guide\/\">Spark Lazy Evaluation<\/a><\/strong> feature in detail.<\/p>\n<h3>j. Active, Progressive and Expanding Community<\/h3>\n<p>A wide set of developers from over 50 companies build Apache Spark. It has active mailing state and JIRA for issue tracking.<\/p>\n<h2>6. Apache Spark Ecosystem<\/h2>\n<p>Till now in Spark notes, we have studied what is Spark and way spark is needed? Now, we will cover the Spark Ecosystem. Following are the ecosystem components of Apache Spark.<\/p>\n<div id=\"attachment_7121\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/02\/Apache-Spark-Ecosystem-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7121\" class=\"wp-image-7121 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/02\/Apache-Spark-Ecosystem-01.jpg\" alt=\"Apache Spark Ecosystem Components\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/02\/Apache-Spark-Ecosystem-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/02\/Apache-Spark-Ecosystem-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/02\/Apache-Spark-Ecosystem-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/02\/Apache-Spark-Ecosystem-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/02\/Apache-Spark-Ecosystem-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-7121\" class=\"wp-caption-text\">Apache Spark Ecosystem Components<\/p><\/div>\n<h3>a. Spark Core<\/h3>\n<p>It is the foundation of Spark. Spark core is also shelter to API that contains the backbone of Spark i.e. RDDs (resilient distributed datasets). The basic functionality of Spark is present in Spark Core like memory management, fault recovery, interaction with the storage system. It is in charge of essential I\/O functionalities like:<\/p>\n<ul>\n<li>Programming and observing the role of Spark cluster<\/li>\n<li>Task dispatching<\/li>\n<li>Fault recovery<\/li>\n<li>It overcomes the snag of MapReduce by using in-memory computation.<\/li>\n<\/ul>\n<h3>b. Spark SQL<\/h3>\n<p>Spark SQL component is a distributed framework. It is a Spark package that allows working with structured and semi-structured data. Spark SQL allows querying in <strong>SQL<\/strong> and <strong>HQL <\/strong>too which provides declarative query with optimized storage running in parallel.<br \/>\nIt enables powerful interactive and analytical application across both streaming and historical data. SparkSQL allows accessing data from multiple sources like<strong><a href=\"http:\/\/data-flair.training\/blogs\/hive-tutorial-an-introductory-guide-for-beginners\/\"> Hive<\/a><\/strong> table, Parquet, and JSON. It also lets you intermix SQL query with the programmatic data manipulations supported by RDDs in Python, Java, and Scala, all within a single application, thus combining SQL with complex analytics.<\/p>\n<p>Refer our <strong><a href=\"http:\/\/data-flair.training\/blogs\/introduction-to-apache-spark-sql-tutorial\/\">Spark SQL Tutorial<\/a><\/strong> for the detailed study.<\/p>\n<h3>c. Spark Streaming<\/h3>\n<p>Spark Streaming enables processing of the large stream of data. It makes easy for the programmer to move between an application that manipulates data stored in memory, on disk and arriving in real time.\u00a0Micro-batching is used for real time streaming. Firstly the small batches have formed from the live data and then delivered to the Spark batch processing System for processing. In short, it provides data abstraction known as DStream. It also provides fault tolerance characteristics. Refer\u00a0<strong><a href=\"http:\/\/data-flair.training\/blogs\/apache-spark-streaming-comprehensive-guide\/\">Spark Streaming Tutorial<\/a>\u00a0<\/strong>for detailed study.<\/p>\n<h3>d. MLlib<\/h3>\n<p>Spark MLlib (Machine learning library) provides algorithms like <a href=\"http:\/\/data-flair.training\/blogs\/machine-learning-tutorial\/\"><strong>machine learning<\/strong><\/a> as well as statistical, which further includes classification, regression, linear algebra, clustering, collaborative filtering\u00a0as well as supporting functions such as model evaluation and data import.<\/p>\n<p>MLlib is a scalable learning library that discusses high-quality algorithms and high speed. It also contains some lower level primitives.<\/p>\n<h3>e. GraphX<\/h3>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/graphx-api-spark\/\"><strong>GraphX<\/strong> <\/a>is an API for graphs and graph parallel execution. It is a network graph analytics engine. GraphX is a library that performs graph-parallel computation and manipulates graph. It has various Spark RDD API so it can help to create directed graphs with arbitrary properties linked to its vertex and edges.<\/p>\n<p>Spark GraphX also provides various operator and algorithms to manipulate graph. Clustering, classification, traversal, searching, and pathfinding is possible in GraphX.<\/p>\n<h3>f. SparkR<\/h3>\n<p>In Apache Spark 1.4 SparkR has released.\u00a0It allows data scientists to analyze large datasets and interactively run jobs on them from the <a href=\"http:\/\/data-flair.training\/blogs\/r-programming-tutorial\/\"><strong>R<\/strong><\/a> shell. The main idea behind SparkR was to explore different techniques to integrate the usability of R with the scalability of Spark. It is R package that gives light-weight frontend to use Apache Spark from R.<\/p>\n<h2>7. Limitations of Apache Spark<\/h2>\n<p>There are some limitations of Apache Spark<\/p>\n<ul>\n<li>Spark Does not have its file management system, so you need to integrate with Hadoop or another cloud-based data platform.<\/li>\n<li>In-memory capability can become a bottleneck when it comes to cost-efficient processing of Bigdata.<\/li>\n<li>Memory consumption is very high.<\/li>\n<li>It requires large data<strong>.<\/strong><\/li>\n<li>MLlib lacking in a number of available algorithms (Tanimoto distance).<\/li>\n<\/ul>\n<h2>8. Spark Notes &#8211; Install Spark<\/h2>\n<p>To install Apache Spark follow <strong><a href=\"http:\/\/data-flair.training\/blogs\/spark-installation-ubuntu\/\" target=\"_blank\" rel=\"noopener noreferrer\">this Spark installation on Ubuntu guide<\/a><\/strong>. Once you have completed the installation, you can play with Spark shell and run various commands, please follow <strong><a href=\"http:\/\/data-flair.training\/blogs\/apache-spark-beginners-guide\/\" target=\"_blank\" rel=\"noopener noreferrer\">this Quickstart guide\u00a0to playing with Spark<\/a>.<\/strong><\/p>\n<p>So, this was all in Spark Notes. Hope you like our explanation.<\/p>\n<h2>9. Conclusion &#8211; Spark Notes<\/h2>\n<p>In conclusion, Apache Spark\u00a0notes defines that Apache spark has designed in such a way that it can scale up from one to thousands of computer node. Moreover, the simplicity of APIs in spark and its processing speed makes Spark a popular framework among data scientists. So, for the\u00a0data exploration, Spark uses SQL shell. MLlib supports data analysis and Machine Learning. It lets the data scientist handle the problem with large data size.<\/p>\n<p>Hence Spark provides a simple way to parallelize the applications across Clusters and hides the complexity of distributed systems programming, network developer, and fault tolerance.<\/p>\n<p>Still, if you felt that I have missed any point in this Spark Notes, so please let me know by leaving a comment.<br \/>\n<strong>See Also<\/strong><\/p>\n<ul>\n<li><strong><a href=\"http:\/\/data-flair.training\/blogs\/how-apache-spark-works\/\">How does Spark Works?<\/a><\/strong><\/li>\n<li><strong><a href=\"http:\/\/data-flair.training\/blogs\/hadoop-vs-spark-vs-flink-comparison\/\">Spark Vs Hadoop MapReduce<\/a><\/strong><\/li>\n<\/ul>\n<p><strong>Reference<\/strong><br \/>\n<strong><a href=\"http:\/\/spark.apache.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/spark.apache.org\/<\/a><\/strong><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:2354,&quot;href&quot;:&quot;http:\\\/\\\/spark.apache.org&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251009215151\\\/https:\\\/\\\/spark.apache.org\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-11 04:17:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-14 07:11:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-17 07:55:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-20 14:34:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-23 15:49:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-26 15:59:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-30 07:08:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-02 07:19:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-05 08:37:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-08 09:28:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-11 11:37:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-14 12:46:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-17 20:26:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-20 20:31:00&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-24 06:20:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-27 06:26:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-30 07:17:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 07:26:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-05 10:18:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-08 12:50:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-11 14:05:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-14 15:00:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-18 00:17:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-21 06:52:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 08:35:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-27 08:54:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-02 09:01:11&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-05 09:57:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 12:27:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 12:42:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-14 23:54:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-18 03:00:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-21 06:08:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-24 07:13:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 09:23:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-30 11:37:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-02 13:11:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 14:53:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 19:36:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-11 23:42:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-15 01:00:01&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-18 06:16:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-21 07:55:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-24 09:26:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-27 11:00:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-30 12:57:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-03 13:36:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-06 19:54:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-10 07:47:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-13 09:22:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-16 16:11:08&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-19 16:22:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-22 17:30:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-25 20:07:42&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-29 03:42:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-01 10:44:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-04 10:50:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-07 10:53:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-10 11:32:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-13 13:26:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-17 00:18:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-20 03:02:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-23 10:46:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-26 12:51:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-29 12:51:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-02 13:46:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-05 16:50:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-09 05:30:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-12 14:20:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-15 20:00:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-19 06:45:58&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-07-19 06:45:58&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Objective &#8211; Spark notes In this Apache Spark Notes, we will discuss the next-gen Big Data tool Apache Spark. Spark is an open source, wide range data processing engine with revealing development API\u2019s,&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":44419,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[915,927,935,8241,9134,9135,11396,13059,13063,13072,13091,13125,15594,16182,16183],"class_list":["post-187","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spark","tag-apache-spark-ecosystem","tag-apache-spark-installation","tag-apache-spark-notes","tag-limitations-of-apache-spark","tag-notes-on-apache-spark","tag-notes-on-spark","tag-real-time-processing","tag-spark-features","tag-spark-history","tag-spark-introduction","tag-spark-notes","tag-spark-sreaming","tag-what-is-apache-spark","tag-why-spark","tag-why-spark-is-needed"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spark Notes for Beginners &amp; Experienced - DataFlair<\/title>\n<meta name=\"description\" content=\"Spark Notes covers Spark introduction, Apache Spark Evolution, need of spark, Spark characteristics, Components of Spark, disadvantage of Apache Spark\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/spark-notes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spark Notes for Beginners &amp; Experienced - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Spark Notes covers Spark introduction, Apache Spark Evolution, need of spark, Spark characteristics, Components of Spark, disadvantage of Apache Spark\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/spark-notes\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-06-04T11:47:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-05T06:33:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spark Notes for Beginners &amp; Experienced - DataFlair","description":"Spark Notes covers Spark introduction, Apache Spark Evolution, need of spark, Spark characteristics, Components of Spark, disadvantage of Apache Spark","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/spark-notes\/","og_locale":"en_US","og_type":"article","og_title":"Spark Notes for Beginners &amp; Experienced - DataFlair","og_description":"Spark Notes covers Spark introduction, Apache Spark Evolution, need of spark, Spark characteristics, Components of Spark, disadvantage of Apache Spark","og_url":"https:\/\/data-flair.training\/blogs\/spark-notes\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2016-06-04T11:47:58+00:00","article_modified_time":"2018-12-05T06:33:50+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/spark-notes\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/spark-notes\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Spark Notes for Beginners &amp; Experienced","datePublished":"2016-06-04T11:47:58+00:00","dateModified":"2018-12-05T06:33:50+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spark-notes\/"},"wordCount":1862,"commentCount":17,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spark-notes\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01.jpg","keywords":["Apache Spark Ecosystem","Apache Spark Installation","Apache Spark Notes","Limitations of Apache Spark","notes on apache spark","notes on spark","real time processing","spark features","spark history","spark introduction","spark notes","spark sreaming","what is apache spark","Why Spark","why Spark is needed"],"articleSection":["Apache Spark Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/spark-notes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/spark-notes\/","url":"https:\/\/data-flair.training\/blogs\/spark-notes\/","name":"Spark Notes for Beginners &amp; Experienced - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/spark-notes\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/spark-notes\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01.jpg","datePublished":"2016-06-04T11:47:58+00:00","dateModified":"2018-12-05T06:33:50+00:00","description":"Spark Notes covers Spark introduction, Apache Spark Evolution, need of spark, Spark characteristics, Components of Spark, disadvantage of Apache Spark","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/spark-notes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/spark-notes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/spark-notes\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/06\/Spark-Notes-for-Beginners-Experienced-01.jpg","width":1200,"height":628,"caption":"Spark Notes for Beginners &amp; Experienced"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/spark-notes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Apache Spark Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/spark\/"},{"@type":"ListItem","position":3,"name":"Spark Notes for Beginners &amp; Experienced"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=187"}],"version-history":[{"count":6,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/187\/revisions"}],"predecessor-version":[{"id":44420,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/187\/revisions\/44420"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/44419"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}