

{"id":2465,"date":"2017-05-04T12:58:03","date_gmt":"2017-05-04T12:58:03","guid":{"rendered":"http:\/\/data-flair.training\/blogs\/?p=2465"},"modified":"2018-11-16T14:29:47","modified_gmt":"2018-11-16T08:59:47","slug":"key-value-pair-in-hadoop-mapreduce","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/","title":{"rendered":"Learn the Concept of Key-Value Pair in Hadoop MapReduce"},"content":{"rendered":"<h2>1. Objective<\/h2>\n<p>In this <a href=\"http:\/\/data-flair.training\/blogs\/hadoop-mapreduce-tutorial\/\"><strong>MapReduce tutorial<\/strong><\/a>, we are going to learn the concept of a key-value pair in <a href=\"http:\/\/data-flair.training\/blogs\/hadoop-tutorial-for-beginners\/\"><strong>Hadoop<\/strong><\/a>. The key Value pair is the record entity that MapReduce job receives for execution. By default, RecordReader uses TextInputFormat for converting data into a key-value pair.\u00a0Here we will learn what is a key-value pair in MapReduce, how key-value pairs are generated in Hadoop using InputSplit and RecordReader and on what basis generation of key-value pairs in Hadoop MapReduce takes place? We will also see Hadoop key-value pair example in this tutorial.<\/p>\n<div id=\"attachment_42345\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-42345\" class=\"size-full wp-image-42345\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1.jpg\" alt=\"Learn the Concept of Key-Value Pair in Hadoop MapReduce\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1-1024x536.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1-520x272.jpg 520w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-42345\" class=\"wp-caption-text\">Learn the Concept of Key-Value Pair in Hadoop MapReduce<\/p><\/div>\n<p>To practically implement\u00a0MapReduce Programs, firstly <a href=\"http:\/\/data-flair.training\/blogs\/installation-hadoop-3-x-ubuntu-pseudo-distributed-mode\/\">install Hadoop on your system<\/a>.<\/p>\n<h2>2. What is a key-value pair in Hadoop?<\/h2>\n<p><strong>Apache Hadoop<\/strong> is used mainly for <a href=\"http:\/\/data-flair.training\/blogs\/data-analytics-comprehensive-guide\/\"><strong>Data Analysis<\/strong><\/a>. We look at statistical and logical techniques in data Analysis to describe, illustrate and evaluate data. Hadoop deals with structured, unstructured and semi-structured data. In Hadoop, when the schema is static we can directly work on the column instead of keys and values, but, when the schema is not static, then we will work on keys and values. Keys and values are not the intrinsic properties of the data, but they are chosen by user analyzing the data.<\/p>\n<p><strong>MapReduce<\/strong> is the core component of Hadoop which provides data processing. Hadoop MapReduce is a software framework for easily writing an application that processes the vast amount of structured and unstructured data stored in the <strong><a href=\"http:\/\/data-flair.training\/blogs\/apache-hadoop-hdfs-introduction-tutorial\/\">Hadoop Distributed FileSystem (HDFS)<\/a>.<\/strong> MapReduce works by breaking the processing into two phases: Map phase and Reduce phase. Each phase has key-value as input and output. Learn more about<a href=\"http:\/\/data-flair.training\/blogs\/mapreduce-job-optimization-performance-tuning-techniques\/\"> how data flows in Hadoop MapReduce<\/a>?<\/p>\n<h2>3. Key-value pair Generation in MapReduce<\/h2>\n<p>Let us now learn how key-value pair is generated in Hadoop MapReduce?In MapReduce process, before passing the data to the<strong><a href=\"http:\/\/data-flair.training\/blogs\/mapper-in-hadoop-mapreduce\/\"> mapper<\/a><\/strong>,\u00a0data should be first converted into key-value pairs as mapper only understands key-value pairs of data.<br \/>\nkey-value pairs in Hadoop MapReduce is generated as follows:<\/p>\n<ul>\n<li><strong>InputSplit &#8211; <\/strong>It\u00a0is the logical representation of data. The data to be processed by an individual Mapper is presented by the InputSplit. <a href=\"http:\/\/data-flair.training\/blogs\/inputsplit-in-hadoop-mapreduce\/\">Learn MapReduce InputSplit in detail<\/a>.<\/li>\n<\/ul>\n<ul>\n<li><strong>RecordReader &#8211; <\/strong>It\u00a0communicates with the InputSplit and it converts the Split into records which are in form of key-value pairs that are suitable for reading by the mapper. By default, RecordReader uses TextInputFormat for converting data into a key-value pair. RecordReader communicates with the InputSplit until the file reading is not completed. Learn more about <a href=\"http:\/\/data-flair.training\/blogs\/hadoop-recordreader\/\">MapReduce record reader in detail<\/a>.<\/li>\n<\/ul>\n<p>In MapReduce, map function processes a certain key-value pair and emits a certain number of key-value pairs and the Reduce function processes values grouped by the same key and emits another set of key-value pairs as output.\u00a0 The output types of the Map should match the input types of the Reduce as shown below:<\/p>\n<ul>\n<li><strong>Map:<\/strong> (K1, V1) -&gt; list (K2, V2)<\/li>\n<li><strong>Reduce:<\/strong> {(K2, list (V2 }) -&gt; list (K3, V3)<\/li>\n<\/ul>\n<h2>4. On what basis is a key-value pair generated in Hadoop?<\/h2>\n<p>Generation of a key-value pair in Hadoop depends on the data set and the required output. In general, the key-value pair is specified in 4 places: Map input, Map output, Reduce input and Reduce output.<\/p>\n<p><strong style=\"font-family: Verdana, Geneva, sans-serif\">a. Map Input<\/strong><\/p>\n<p>Map-input by default will take the line offset as the key and the content of the line will be the value as Text. By using custom <strong><a href=\"http:\/\/data-flair.training\/blogs\/hadoop-inputformat-types\/\">InputFormat<\/a><\/strong> we can modify them.<\/p>\n<p><strong style=\"font-family: Verdana, Geneva, sans-serif\">b. Map Output<\/strong><\/p>\n<p>Map basic responsibility is to filter the data and provide the environment for grouping of data based on the key.<\/p>\n<ul>\n<li><strong>Key<\/strong> &#8211; It will be the field\/ text\/ object on which the data has to be grouped and aggregated on the <strong><a href=\"http:\/\/data-flair.training\/blogs\/reducer-in-hadoop-mapreduce\/\">reducer <\/a><\/strong>side.<\/li>\n<li><strong>Value<\/strong> &#8211; It will be the field\/ text\/ object which is to be handled by each individual reduce method.<\/li>\n<\/ul>\n<p><strong style=\"font-family: Verdana, Geneva, sans-serif\">c. Reduce Input<\/strong><\/p>\n<p>The output of Map is the input for reduce, so it is same as Map-Output.<\/p>\n<p><strong style=\"font-family: Verdana, Geneva, sans-serif\">d. Reduce Output<\/strong><\/p>\n<p>It depends on the required output.<\/p>\n<h2>5. MapReduce key-value pair Example<\/h2>\n<p>Suppose, the content of the file which is stored in HDFS is <strong>John is Mark Joey is John<\/strong>. Using InputFormat, we will define how this file will split and read. By default, RecordReader uses TextInputFormat to convert this file into a key-value pair.<\/p>\n<ul>\n<li><strong>Key &#8211;<\/strong> It is offset of the beginning of the line within the file.<\/li>\n<li><strong>Value &#8211;<\/strong>\u00a0It is the content of the line, excluding line terminators.<\/li>\n<\/ul>\n<p>From the above content of the file-<\/p>\n<ul>\n<li><strong>Key<\/strong> is 0<\/li>\n<li><strong>Value<\/strong> is John is Mark Joey is John.<\/li>\n<\/ul>\n<h2>6. Conclusion<\/h2>\n<p>In conclusion, we can say that InputSplit and RecordReader generate the Key-value pair in Hadoop by using TextInputFormat. Hence, Key is the byte offset of the beginning of the line within the file and Value is the content of the line excluding line terminators.<\/p>\n<p>Hope this blog helped you to more understand the working process of MapReduce. If you have any question in mind so you can share with us by leaving a comment below.<br \/>\n<strong>See Also-<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/data-flair.training\/blogs\/how-hadoop-mapreduce-works\/\">How Hadoop MapReduce works?<\/a><\/li>\n<li><a href=\"http:\/\/data-flair.training\/blogs\/hadoop-partitioner-tutorial\/\">What is Hadoop Partitioner?<\/a><\/li>\n<\/ul>\n<p><a href=\"https:\/\/community.hortonworks.com\/questions\/86702\/generation-of-key-value-pair.html\">Reference<\/a><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:2358,&quot;href&quot;:&quot;https:\\\/\\\/community.hortonworks.com\\\/questions\\\/86702\\\/generation-of-key-value-pair.html&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Objective In this MapReduce tutorial, we are going to learn the concept of a key-value pair in Hadoop. The key Value pair is the record entity that MapReduce job receives for execution. By&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":42345,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[5289,8024,8551,8552,8553],"class_list":["post-2465","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mapreduce","tag-hadoop-mapreduce-key-value-pair","tag-key-value-pair-in-hadoop","tag-mapreduce-key-value-pair-introduction","tag-mapreduce-key-value-pair","tag-mapreduce-keyvalue-pair-generation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Learn the Concept of Key-Value Pair in Hadoop MapReduce - DataFlair<\/title>\n<meta name=\"description\" content=\"Hadoop key-value pair cover what is key-value pair in Hadoop,how is Hadoop key value pair generated,need of key-value pair, MapReduce Key value pair example\" \/>\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\/key-value-pair-in-hadoop-mapreduce\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Learn the Concept of Key-Value Pair in Hadoop MapReduce - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Hadoop key-value pair cover what is key-value pair in Hadoop,how is Hadoop key value pair generated,need of key-value pair, MapReduce Key value pair example\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/\" \/>\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-05-04T12:58:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-16T08:59:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1.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=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Learn the Concept of Key-Value Pair in Hadoop MapReduce - DataFlair","description":"Hadoop key-value pair cover what is key-value pair in Hadoop,how is Hadoop key value pair generated,need of key-value pair, MapReduce Key value pair example","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\/key-value-pair-in-hadoop-mapreduce\/","og_locale":"en_US","og_type":"article","og_title":"Learn the Concept of Key-Value Pair in Hadoop MapReduce - DataFlair","og_description":"Hadoop key-value pair cover what is key-value pair in Hadoop,how is Hadoop key value pair generated,need of key-value pair, MapReduce Key value pair example","og_url":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2017-05-04T12:58:03+00:00","article_modified_time":"2018-11-16T08:59:47+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1.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":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Learn the Concept of Key-Value Pair in Hadoop MapReduce","datePublished":"2017-05-04T12:58:03+00:00","dateModified":"2018-11-16T08:59:47+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/"},"wordCount":848,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1.jpg","keywords":["Hadoop Mapreduce Key value pair","Key-value pair in hadoop","mapreduce key value pair introduction","MapReduce key-value pair","MapReduce KeyValue Pair Generation"],"articleSection":["MapReduce Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/","url":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/","name":"Learn the Concept of Key-Value Pair in Hadoop MapReduce - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1.jpg","datePublished":"2017-05-04T12:58:03+00:00","dateModified":"2018-11-16T08:59:47+00:00","description":"Hadoop key-value pair cover what is key-value pair in Hadoop,how is Hadoop key value pair generated,need of key-value pair, MapReduce Key value pair example","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/05\/key-value-pair-in-hadoop-mapreduce-1024x536-1.jpg","width":1200,"height":628,"caption":"Learn the Concept of Key-Value Pair in Hadoop MapReduce"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/key-value-pair-in-hadoop-mapreduce\/#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":"Learn the Concept of Key-Value Pair in Hadoop MapReduce"}]},{"@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\/2465","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=2465"}],"version-history":[{"count":7,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/2465\/revisions"}],"predecessor-version":[{"id":42347,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/2465\/revisions\/42347"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/42345"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=2465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=2465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=2465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}