

{"id":2099,"date":"2017-04-19T14:32:06","date_gmt":"2017-04-19T14:32:06","guid":{"rendered":"http:\/\/data-flair.training\/blogs\/?p=2099"},"modified":"2018-11-21T11:16:58","modified_gmt":"2018-11-21T05:46:58","slug":"hadoop-mapper-in-mapreduce","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/","title":{"rendered":"Hadoop Mapper &#8211; 4 Steps Learning to MapReduce Mapper"},"content":{"rendered":"<h2>1. Hadoop Mapper Tutorial &#8211; Objective<\/h2>\n<p><strong>Mapper<\/strong> task is the first phase of processing that processes each input record (from RecordReader) and generates an intermediate key-value pair. <a href=\"http:\/\/data-flair.training\/blogs\/hadoop-tutorial-for-beginners\/\"><strong>Hadoop<\/strong> <\/a>Mapper store intermediate-output on the local disk.\u00a0In this Hadoop mapper tutorial, we will try to answer what is a <strong><a href=\"http:\/\/data-flair.training\/blogs\/hadoop-mapreduce-tutorial-comprehensive-guide-beginners\/\">MapReduce <\/a><\/strong>Mapper how to generate <a href=\"http:\/\/data-flair.training\/blogs\/key-value-pairs-hadoop-mapreduce\/\"><strong>key-value pair<\/strong><\/a> in Hadoop, what is InputSplit and RecordReader in Hadoop, how mapper works in Hadoop.<\/p>\n<p>We will also discuss the number of mapper in Hadoop MapReduce for running any program and how to calculate the number of Hadoop mappers required for a given data. After this tutorial you can refer our tutorial on <a href=\"https:\/\/data-flair.training\/blogs\/reducer-in-hadoop-mapreduce\/\"><strong>MapReduce Reducer<\/strong> <\/a>to gain complete insights on both mapper and reducer in Hadoop. It is really fun to understand mapper and reducer in Hadoop.<\/p>\n<p>We will also discuss the number of mapper in Hadoop MapReduce for running any program and how to calculate the number of mappers required for a given data.<\/p>\n<div id=\"attachment_43040\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-43040\" class=\"size-full wp-image-43040\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper.jpg\" alt=\"Hadoop Mapper - 4 Steps Learning to MapReduce Mapper\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper-1024x536.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper-520x272.jpg 520w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-43040\" class=\"wp-caption-text\">Hadoop Mapper &#8211; 4 Steps Learning to MapReduce Mapper<\/p><\/div>\n<h2>2. What is Hadoop Mapper?<\/h2>\n<p><strong>Hadoop Mapper<\/strong> task processes each input record and it generates a new &lt;key, value&gt; pairs. The &lt;key, value&gt; pairs can be completely different from the input pair. In mapper task, the output is the full collection of all these &lt;key, value&gt; pairs. Before writing the output for each mapper task, <a href=\"http:\/\/data-flair.training\/blogs\/partitioner-in-hadoop-mapreduce-hadoop-internals\/\"><strong>partitioning<\/strong><\/a> of output take place on the basis of the key and then <a href=\"http:\/\/data-flair.training\/blogs\/shuffling-sorting-hadoop-mapreduce\/\"><strong>sorting<\/strong><\/a> is done. This partitioning specifies that all the values for each key are grouped together.<br \/>\nMapReduce frame generates one map task for each InputSplit (we will discuss it below.) generated by the <a href=\"http:\/\/data-flair.training\/blogs\/hadoop-inputformat\/\"><strong>InputFormat<\/strong><\/a> for the job.<\/p>\n<p>Mapper only understands &lt;key, value&gt; pairs of data, so before passing data to the mapper, data should be first converted into &lt;key, value&gt; pairs.<br \/>\n<strong>Read: <a href=\"https:\/\/data-flair.training\/blogs\/hadoop-mapreduce-introduction-tutorial-comprehensive-guide\/\">What is MapReduce?<\/a><\/strong><\/p>\n<h2>3. How is key value pair generated in Hadoop?<\/h2>\n<p>Let us now discuss the key-value pair generation in Hadoop.<\/p>\n<ul>\n<li><strong>InputSplit \u2013 <\/strong>It is the logical representation of data. It describes a unit of work that contains a single map task in a MapReduce program. Learn about<a href=\"http:\/\/data-flair.training\/blogs\/inputsplit-in-hadoop-mapreduce\/\"> InputSplit<\/a> in detail<a href=\"http:\/\/data-flair.training\/blogs\/inputsplit-in-hadoop-mapreduce\/\">.<\/a><\/li>\n<li><strong>RecordReader &#8211; <\/strong>It communicates with the InputSplit and it converts the data into key-value pairs suitable for reading by the Mapper. By default, it uses TextInputFormat for converting data into the key-value pair. RecordReader communicates with the Inputsplit until the file reading is not completed. Learn about<strong> <a href=\"http:\/\/data-flair.training\/blogs\/recordreader-in-hadoop-mapreduce\/\">RecordReader<\/a> <\/strong>in detail<a href=\"http:\/\/data-flair.training\/blogs\/recordreader-in-hadoop-mapreduce\/\">.<\/a><\/li>\n<\/ul>\n<p>Read <strong><a href=\"https:\/\/data-flair.training\/blogs\/hadoop-reducer\/\">Reducer in Hadoop<\/a><\/strong> to have the knowledge of both mapper and reducer in hadoop.<\/p>\n<h2>4. How does Hadoop Mapper work?<\/h2>\n<p>Let us now see the mapper process in Hadoop.<br \/>\nInputSplits converts the physical representation of the block into logical for the Hadoop mapper. To read the 100MB file, two InputSlits are required. One InputSplit is created for each block and one RecordReader and one mapper are created for each InputSplit.<\/p>\n<p>InputSpits do not always depend on the number of blocks, we can customize the number of splits for a particular file by setting <em>mapred.max.split.size<\/em> property during job execution.<\/p>\n<p>RecordReader&#8217;s responsibility is to keep reading\/converting data into key-value pairs until the end of the file. Byte offset (unique number) is assigned to each line present in the file by RecordReader. Further, this key-value pair is sent to the mapper. The output of the mapper program is called as intermediate data (key-value pairs which are understandable to reduce).<br \/>\n<strong>Read: <a href=\"https:\/\/data-flair.training\/blogs\/hadoop-mapreduce-job-execution-flow\/\">MapReduce DataFlow<\/a><\/strong><\/p>\n<h2>5. How many map tasks in Hadoop?<\/h2>\n<p>In this section of this Hadoop mapper tutorial, we are going to discuss the number of mapper in Hadoop MapReduce for running any program and how to calculate the number of mappers required for a given data?<br \/>\nThe total number of <a href=\"http:\/\/data-flair.training\/blogs\/data-blocks-hdfs-hadoop-distributed-file-system\/\"><strong>blocks<\/strong><\/a> of the input files handles the number of map tasks in a program. For maps, the right level of parallelism is around 10-100 maps\/node, although for CPU-light map tasks it has been set up to 300 maps. Since task setup takes some time, so it\u2019s better if the maps take at least a minute to execute.<\/p>\n<p>For example, if we have a block size of 128 MB and we expect 10TB of input data, we will have 82,000 maps. Thus, the InputFormat determines the number of maps.<br \/>\nHence, <strong>No. of Mapper= {(total data size)\/ (input split size)}<\/strong><br \/>\nFor example, if data size is 1 TB and InputSplit size is 100 MB then,<br \/>\nNo. of Mapper= (1000*1000)\/100= 10,000<br \/>\n<strong>Read: <a href=\"https:\/\/data-flair.training\/blogs\/reducer-in-hadoop-mapreduce\/\">Reducer in MapReduce<\/a><\/strong><\/p>\n<h2>6. Hadoop Mapper &#8211; Conclusion<\/h2>\n<p>In conclusion to the Hadoop Mapper tutorial, Mapper takes the set of key-value pair generates by InputSplit and RecordReader and generate intermediate key-value pairs. Hence, in this phase, we specify all the complex logic\/business rules\/costly code. This was all about MapReduce Mapper. In our Next blog, we will discuss the next Phase-<a href=\"http:\/\/data-flair.training\/blogs\/hadoop-reducer-in-mapreduce\/\"><strong> Hadoop Reducer<\/strong><\/a> in detail to understand both mapper and reducer in Hadoop.<br \/>\n<strong>See Also-<\/strong><\/p>\n<ul>\n<li><strong><a href=\"http:\/\/data-flair.training\/blogs\/combiner-in-hadoop-mapreduce-advantages-disadvantages\/\">Combiner in Hadoop MapReduce<\/a><\/strong><\/li>\n<li><strong><a href=\"http:\/\/data-flair.training\/blogs\/counters-hadoop-mapreduce\/\">Counters in Hadoop MapReduce<\/a><\/strong><\/li>\n<\/ul>\n<p><a href=\"https:\/\/hadoop.apache.org\/docs\/r2.8.2\/api\/org\/apache\/hadoop\/mapreduce\/Mapper.html\">Reference<\/a><\/p>\n<p>If you like this blog or have any query related to Hadoop Mapper, so please let us know by leaving a comment. Hope we will solve them.<span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:2370,&quot;href&quot;:&quot;https:\\\/\\\/hadoop.apache.org\\\/docs\\\/r2.8.2\\\/api\\\/org\\\/apache\\\/hadoop\\\/mapreduce\\\/Mapper.html&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20240523155403\\\/https:\\\/\\\/hadoop.apache.org\\\/docs\\\/r2.8.2\\\/api\\\/org\\\/apache\\\/hadoop\\\/mapreduce\\\/Mapper.html&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-11 04:38:49&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-16 16:39:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-20 16:42:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-23 18:45:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-28 10:50:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-09 07:14:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-14 13:36:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-18 15:22:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-23 03:30:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-28 12:25:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-03 13:15:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-08 01:41:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-17 17:37:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-21 18:10:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-25 17:25:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-01 13:47:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 08:58:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-14 09:04:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-18 14:33:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-23 20:09:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-30 22:03:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-04 12:12:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-10 05:46:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-14 11:47:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-19 13:21:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-27 03:01:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-05 04:43:18&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-08 18:56:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-17 13:05:30&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-21 18:36:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-25 14:59:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-04 08:11:21&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-04 08:11:21&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Hadoop Mapper Tutorial &#8211; Objective Mapper task is the first phase of processing that processes each input record (from RecordReader) and generates an intermediate key-value pair. Hadoop Mapper store intermediate-output on the local&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":43040,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,37],"tags":[6736,8536,11426],"class_list":["post-2099","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hadoop","category-mapreduce","tag-inputsplit-in-hadoop","tag-mapper-in-mapreduce","tag-recordreader-in-hadoop"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hadoop Mapper - 4 Steps Learning to MapReduce Mapper - DataFlair<\/title>\n<meta name=\"description\" content=\"This Hadoop Mapper tutorial covers what is Hadoop Mapper, How Mapreduce mapper works, Hadoop key-value pair, Hadoop mapper function, Hadoop InputSplits, RecordReader\" \/>\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-mapper-in-mapreduce\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hadoop Mapper - 4 Steps Learning to MapReduce Mapper - DataFlair\" \/>\n<meta property=\"og:description\" content=\"This Hadoop Mapper tutorial covers what is Hadoop Mapper, How Mapreduce mapper works, Hadoop key-value pair, Hadoop mapper function, Hadoop InputSplits, RecordReader\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-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-04-19T14:32:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-21T05:46:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper.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":"Hadoop Mapper - 4 Steps Learning to MapReduce Mapper - DataFlair","description":"This Hadoop Mapper tutorial covers what is Hadoop Mapper, How Mapreduce mapper works, Hadoop key-value pair, Hadoop mapper function, Hadoop InputSplits, RecordReader","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-mapper-in-mapreduce\/","og_locale":"en_US","og_type":"article","og_title":"Hadoop Mapper - 4 Steps Learning to MapReduce Mapper - DataFlair","og_description":"This Hadoop Mapper tutorial covers what is Hadoop Mapper, How Mapreduce mapper works, Hadoop key-value pair, Hadoop mapper function, Hadoop InputSplits, RecordReader","og_url":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2017-04-19T14:32:06+00:00","article_modified_time":"2018-11-21T05:46:58+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper.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\/hadoop-mapper-in-mapreduce\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Hadoop Mapper &#8211; 4 Steps Learning to MapReduce Mapper","datePublished":"2017-04-19T14:32:06+00:00","dateModified":"2018-11-21T05:46:58+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/"},"wordCount":856,"commentCount":3,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper.jpg","keywords":["inputsplit in Hadoop","mapper in mapreduce","recordreader in Hadoop"],"articleSection":["Hadoop Tutorials","MapReduce Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/","url":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/","name":"Hadoop Mapper - 4 Steps Learning to MapReduce Mapper - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper.jpg","datePublished":"2017-04-19T14:32:06+00:00","dateModified":"2018-11-21T05:46:58+00:00","description":"This Hadoop Mapper tutorial covers what is Hadoop Mapper, How Mapreduce mapper works, Hadoop key-value pair, Hadoop mapper function, Hadoop InputSplits, RecordReader","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/04\/introduction-to-hadoop-mapper.jpg","width":1200,"height":628,"caption":"Hadoop Mapper - 4 Steps Learning to MapReduce Mapper"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/hadoop-mapper-in-mapreduce\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Hadoop Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/hadoop\/"},{"@type":"ListItem","position":3,"name":"Hadoop Mapper &#8211; 4 Steps Learning to MapReduce Mapper"}]},{"@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\/2099","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=2099"}],"version-history":[{"count":5,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/2099\/revisions"}],"predecessor-version":[{"id":43041,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/2099\/revisions\/43041"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/43040"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=2099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=2099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=2099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}