

{"id":2128,"date":"2017-04-21T07:04:55","date_gmt":"2017-04-21T07:04:55","guid":{"rendered":"http:\/\/data-flair.training\/blogs\/?p=2128"},"modified":"2018-11-14T16:19:54","modified_gmt":"2018-11-14T10:49:54","slug":"hadoop-combiner-tutorial","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/","title":{"rendered":"Hadoop Combiner &#8211; Best Explanation to MapReduce Combiner"},"content":{"rendered":"<h2>1. Hadoop Combiner \/ MapReduce Combiner<\/h2>\n<p><strong><a href=\"http:\/\/data-flair.training\/blogs\/hadoop-tutorial-for-beginners\/\">Hadoop<\/a> Combiner<\/strong> is also known as \u201c<strong>Mini-Reducer<\/strong>\u201d that summarizes the Mapper output record with the same Key before passing to the Reducer. In this tutorial on <a href=\"http:\/\/data-flair.training\/blogs\/hadoop-mapreduce-tutorial\/\"><strong>MapReduce <\/strong><\/a>combiner we are going to answer what is a Hadoop combiner, MapReduce program with and without combiner, advantages of Hadoop combiner and disadvantages of the combiner in Hadoop.<\/p>\n<div id=\"attachment_42028\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-42028\" class=\"size-full wp-image-42028\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner.jpg\" alt=\"Hadoop Combiner - Best Explanation to MapReduce Combiner\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner-1024x536.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner-520x272.jpg 520w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-42028\" class=\"wp-caption-text\">Hadoop Combiner &#8211; Best Explanation to MapReduce Combiner<\/p><\/div>\n<h2>2. What is Hadoop Combiner?<\/h2>\n<p>On a large dataset when we run<a href=\"http:\/\/data-flair.training\/blogs\/how-hadoop-mapreduce-works\/\"><strong> MapReduce job<\/strong><\/a>, large chunks of intermediate data is generated by the Mapper and this intermediate data is passed on the Reducer for further processing, which leads to enormous network congestion. MapReduce framework provides a function known as <strong>Hadoop Combiner <\/strong>that plays a key role in reducing network congestion.<\/p>\n<p>We have already seen earlier<strong> <a href=\"http:\/\/data-flair.training\/blogs\/mapper-in-hadoop-mapreduce\/\">what is mapper<\/a> <\/strong>and what is <a href=\"http:\/\/data-flair.training\/blogs\/reducer-in-hadoop-mapreduce\/\"><strong>reducer<\/strong> <\/a>in Hadoop MapReduce. Now we in the next step to learn Hadoop MapReduce Combiner.<\/p>\n<p>The combiner in MapReduce is also known as \u2018Mini-reducer\u2019. The primary job of Combiner is to process the output data from the Mapper, before passing it to Reducer. It runs after the mapper and before the Reducer and its use is optional.<\/p>\n<p><strong>Read: <a href=\"https:\/\/data-flair.training\/blogs\/key-value-pairs-hadoop-mapreduce\/\">Key-value Pairs in MapReduce<\/a><\/strong><\/p>\n<h2>3. How does MapReduce Combiner work?<\/h2>\n<p>Let us now see the working of the Hadoop combiner in MapReduce and how things change when combiner is used as compared to when combiner is not used in MapReduce?<\/p>\n<h3>3.1. MapReduce program without Combiner<strong>\u00a0<\/strong><\/h3>\n<div id=\"attachment_4243\" style=\"width: 4510px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-without-combiner.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4243\" class=\"wp-image-4243 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-without-combiner.jpg\" alt=\"MapReduce Combiner : MapReduce program without combiner\" width=\"4500\" height=\"4500\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-without-combiner.jpg 4500w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-without-combiner-150x150.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-without-combiner-300x300.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-without-combiner-768x768.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-without-combiner-1024x1024.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-without-combiner-100x100.jpg 100w\" sizes=\"auto, (max-width: 4500px) 100vw, 4500px\" \/><\/a><p id=\"caption-attachment-4243\" class=\"wp-caption-text\">MapReduce Combiner : MapReduce program without combiner<\/p><\/div>\n<p>In the above diagram, no combiner is used. Input is split into two mappers and 9 keys are generated from the mappers. Now we have (9 <a href=\"http:\/\/data-flair.training\/blogs\/key-value-pairs-hadoop-mapreduce\/\"><strong>key\/value<\/strong><\/a>) intermediate data, the further mapper will send directly this data to reducer and while sending data to the reducer, it consumes some network bandwidth (bandwidth means time taken to transfer data between 2 machines). It will take more time to transfer data to reducer if the size of data is big.<\/p>\n<p>Now in between mapper and reducer if we use a\u00a0 hadoop combiner, then combiner shuffles intermediate data (9 key\/value) before sending it to the reducer and generates 4 key\/value pair as an output.<br \/>\n<strong>Read: <a href=\"https:\/\/data-flair.training\/blogs\/data-locality-hadoop-mapreduce\/\">Data Locality in MapReduce<\/a><\/strong><\/p>\n<h3>3.2. MapReduce program with Combiner in between Mapper and Reducer<\/h3>\n<div id=\"attachment_4242\" style=\"width: 4510px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-with-combiner.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4242\" class=\"wp-image-4242 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-with-combiner.jpg\" alt=\"MapReduce Combiner: MapReduce program with combiner\" width=\"4500\" height=\"4500\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-with-combiner.jpg 4500w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-with-combiner-150x150.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-with-combiner-300x300.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-with-combiner-768x768.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-with-combiner-1024x1024.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/09\/mapreduce-program-with-combiner-100x100.jpg 100w\" sizes=\"auto, (max-width: 4500px) 100vw, 4500px\" \/><\/a><p id=\"caption-attachment-4242\" class=\"wp-caption-text\">MapReduce Combiner: MapReduce program with combiner<\/p><\/div>\n<p>Reducer now needs to process only 4 key\/value pair data which is generated from 2 combiners. Thus reducer gets executed only 4 times to produce final output, which increases the overall performance.<\/p>\n<h2>4. Advantages of MapReduce Combiner<\/h2>\n<p>As we have discussed what is Hadoop MapReduce Combiner in detail, now we will discuss some advantages of Mapreduce Combiner.<\/p>\n<ul>\n<li>Hadoop Combiner reduces the time taken for data transfer between mapper and reducer.<\/li>\n<li>It decreases the amount of data that needed to be processed by the reducer.<\/li>\n<li>The Combiner improves the overall performance of the reducer.<\/li>\n<\/ul>\n<p><strong>Read: <a href=\"https:\/\/data-flair.training\/blogs\/counters-hadoop-mapreduce\/\">Counters in MapReduce<\/a><\/strong><\/p>\n<h2>5. \u00a0Disadvantages of Hadoop combiner in MapReduce<\/h2>\n<p>There are also some disadvantages of hadoop Combiner. Let&#8217;s discuss them one by one-<\/p>\n<ul>\n<li>MapReduce jobs cannot depend on the Hadoop\u00a0combiner execution because there is no guarantee in its execution.<\/li>\n<li>In the local filesystem, the key-value pairs are stored in the Hadoop and run the combiner later which will cause expensive disk IO.<\/li>\n<\/ul>\n<h2>6. Hadoop Combiner &#8211; Conclusion<\/h2>\n<p>In conclusion, we can say that MapReduce Combiner plays a key role in reducing network congestion. MapReduce combiner improves the overall performance of the reducer by summarizing the output of Mapper.<br \/>\n<strong>See Also-<\/strong><\/p>\n<ul>\n<li><strong><a href=\"http:\/\/data-flair.training\/blogs\/shuffling-sorting-hadoop-mapreduce\/\">Shuffling and Sorting in Hadoop\u00a0MapReduce<\/a><\/strong><\/li>\n<li><strong><a href=\"http:\/\/data-flair.training\/blogs\/partitioner-in-hadoop-mapreduce-hadoop-internals\/\">Partitioner in Hadoop MapReduce<\/a><\/strong><\/li>\n<\/ul>\n<p>I hope this post has helped you to understand the role of Combiner in Hadoop. If you have any query related to Hadoop Combiner, so, please drop me a comment below.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Hadoop Combiner \/ MapReduce Combiner Hadoop Combiner is also known as \u201cMini-Reducer\u201d that summarizes the Mapper output record with the same Key before passing to the Reducer. In this tutorial on MapReduce combiner&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":42028,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[2658,2659,2660,5230,5284],"class_list":["post-2128","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mapreduce","tag-combiner-in-hadoop","tag-combiner-in-hadoop-mapreduce","tag-combiner-in-mapreduce","tag-hadoop-combiner","tag-hadoop-mapreduce-combiner"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hadoop Combiner - Best Explanation to MapReduce Combiner - DataFlair<\/title>\n<meta name=\"description\" content=\"Hadoop Combiner: Learn what is Hadoop combiner, role of combiner in Hadoop MapReduce, pros of Hadoop combiner in MapReduce,cons of MapReduce combiner,Hadoop Combiner working\" \/>\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\/hadoop-combiner-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hadoop Combiner - Best Explanation to MapReduce Combiner - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Hadoop Combiner: Learn what is Hadoop combiner, role of combiner in Hadoop MapReduce, pros of Hadoop combiner in MapReduce,cons of MapReduce combiner,Hadoop Combiner working\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/\" \/>\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=\"2017-04-21T07:04:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-14T10:49:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner.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=\"3 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hadoop Combiner - Best Explanation to MapReduce Combiner - DataFlair","description":"Hadoop Combiner: Learn what is Hadoop combiner, role of combiner in Hadoop MapReduce, pros of Hadoop combiner in MapReduce,cons of MapReduce combiner,Hadoop Combiner working","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\/hadoop-combiner-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Hadoop Combiner - Best Explanation to MapReduce Combiner - DataFlair","og_description":"Hadoop Combiner: Learn what is Hadoop combiner, role of combiner in Hadoop MapReduce, pros of Hadoop combiner in MapReduce,cons of MapReduce combiner,Hadoop Combiner working","og_url":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2017-04-21T07:04:55+00:00","article_modified_time":"2018-11-14T10:49:54+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner.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":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Hadoop Combiner &#8211; Best Explanation to MapReduce Combiner","datePublished":"2017-04-21T07:04:55+00:00","dateModified":"2018-11-14T10:49:54+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/"},"wordCount":636,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner.jpg","keywords":["Combiner in Hadoop","Combiner in Hadoop MapReduce","Combiner in MapReduce","Hadoop combiner","Hadoop MapReduce Combiner"],"articleSection":["MapReduce Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/","url":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/","name":"Hadoop Combiner - Best Explanation to MapReduce Combiner - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner.jpg","datePublished":"2017-04-21T07:04:55+00:00","dateModified":"2018-11-14T10:49:54+00:00","description":"Hadoop Combiner: Learn what is Hadoop combiner, role of combiner in Hadoop MapReduce, pros of Hadoop combiner in MapReduce,cons of MapReduce combiner,Hadoop Combiner working","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/Hadoop-MapReduce-Combiner.jpg","width":1200,"height":628,"caption":"Hadoop Combiner - Best Explanation to MapReduce Combiner"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/hadoop-combiner-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"MapReduce Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/mapreduce\/"},{"@type":"ListItem","position":3,"name":"Hadoop Combiner &#8211; Best Explanation to MapReduce Combiner"}]},{"@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\/2128","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=2128"}],"version-history":[{"count":5,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/2128\/revisions"}],"predecessor-version":[{"id":42029,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/2128\/revisions\/42029"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/42028"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=2128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=2128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=2128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}