{"id":2684,"date":"2012-10-30T19:59:30","date_gmt":"2012-10-30T17:59:30","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/?p=2684"},"modified":"2012-10-30T22:00:28","modified_gmt":"2012-10-30T20:00:28","slug":"lets-crunch-big-data","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html","title":{"rendered":"Lets Crunch big data"},"content":{"rendered":"<p>As developers our focus is on simpler, effective solutions and thus one of the most valued principle is \u201cKeep it simple and stupid\u201d. But with Hadoop map-reduce it was a bit hard to stick to this. If we are evaluating data in multiple Map Reduce jobs we would end up with code that is not related to business but more related to infra. Most of the non-trivial business data processing involves quite a few of map-reduce tasks. This means longer tread times and harder to test solutions.<\/p>\n<p>Google presented solution to these issues in their <a href=\"http:\/\/dl.acm.org\/citation.cfm?id=1806638\">FlumeJava <\/a>paper. The same paper has been adapted in implementing <a href=\"http:\/\/incubator.apache.org\/crunch\/\"><strong>Apache-Crunch<\/strong><\/a>. In a nutshell<strong> Crunch is a java library which simplifies development on MapReduce pipelines<\/strong>. It provides a bunch of lazily evaluated collections which can be used to perform various operations in form of map reduce jobs.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>Here is what <a href=\"http:\/\/blog.cloudera.com\/blog\/2011\/12\/crunch-for-dummies\/\">Brock Noland<\/a> said in one of posts while introducing Crunch<\/p>\n<p>\u201c<em>Using Crunch, a Java programmer with limited knowledge of Hadoop and MapReduce can utilize the Hadoop cluster. The program is written in pure Java and does not require the use of MapReduce specific constructs such as writing a Mapper, Reducer, or using Writable objects to wrap Java primitives.<\/em>\u201c<\/p>\n<p>Crunch supports reading data from various sources like sequence files, avro, text , hbase, jdbc with a simple read API<\/p>\n<pre class=\" brush:bash\">&lt;T&gt; PCollection&lt;T&gt; read(Source&lt;T&gt; source)<\/pre>\n<p>You can import data in various formats like json, avro, thrift etc and perform efficient joins, aggregation, sort, cartesian and filter operations. Additionally any custom operations over these collections is quite easy to cook. All you have to do is to implement the quite simple and to the point, DoFn interface. You can unit test you implementations of <a href=\"http:\/\/incubator.apache.org\/crunch\/apidocs\/0.3.0\/org\/apache\/crunch\/DoFn.html\">DoFn <\/a>without any map-reduce constructs.<\/p>\n<p>I am not putting any example to use it. It is quite simple and the same can be found out on <a href=\"http:\/\/incubator.apache.org\/crunch\/intro.html\">Apache-Crunch<\/a> site.<\/p>\n<p>Alternatively you could generate a project from the available crunch-archetype. This will also generate a simple WordCount example. The archetype can be selected using :<\/p>\n<pre class=\" brush:bash\">mvn archetype:generate -Dfilter=crunch-archetype<\/pre>\n<p>The project has quite a few examples for its different aspects and is also available in Scala.<\/p>\n<p>So now lets CRUNCH some data !!!<br \/>\n&nbsp;<\/p>\n<p><strong><em>Reference: <\/em><\/strong><a href=\"http:\/\/devlearnings.wordpress.com\/2012\/10\/29\/lets-crunch-big-data\/\">Lets Crunch big data<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/p\/jcg.html\">JCG partner<\/a> Rahul Sharma at the <a href=\"http:\/\/devlearnings.wordpress.com\/\">The road so far\u2026 blog<\/a> blog.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As developers our focus is on simpler, effective solutions and thus one of the most valued principle is \u201cKeep it simple and stupid\u201d. But with Hadoop map-reduce it was a bit hard to stick to this. If we are evaluating data in multiple Map Reduce jobs we would end up with code that is not &hellip;<\/p>\n","protected":false},"author":79,"featured_media":63,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[661,372],"class_list":["post-2684","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-apache-crunch","tag-big-data"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Lets Crunch big data<\/title>\n<meta name=\"description\" content=\"As developers our focus is on simpler, effective solutions and thus one of the most valued principle is \u201cKeep it simple and stupid\u201d. But with Hadoop\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lets Crunch big data\" \/>\n<meta property=\"og:description\" content=\"As developers our focus is on simpler, effective solutions and thus one of the most valued principle is \u201cKeep it simple and stupid\u201d. But with Hadoop\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2012-10-30T17:59:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-10-30T20:00:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-hadoop-mapreduce-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rahul Sharma\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rahul Sharma\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html\"},\"author\":{\"name\":\"Rahul Sharma\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/3e76e989ec486fd3942c7b9d6fc44f0b\"},\"headline\":\"Lets Crunch big data\",\"datePublished\":\"2012-10-30T17:59:30+00:00\",\"dateModified\":\"2012-10-30T20:00:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html\"},\"wordCount\":379,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-hadoop-mapreduce-logo.jpg\",\"keywords\":[\"Apache Crunch\",\"Big Data\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html\",\"name\":\"Lets Crunch big data\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-hadoop-mapreduce-logo.jpg\",\"datePublished\":\"2012-10-30T17:59:30+00:00\",\"dateModified\":\"2012-10-30T20:00:28+00:00\",\"description\":\"As developers our focus is on simpler, effective solutions and thus one of the most valued principle is \u201cKeep it simple and stupid\u201d. But with Hadoop\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-hadoop-mapreduce-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-hadoop-mapreduce-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/10\\\/lets-crunch-big-data.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Lets Crunch big data\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/3e76e989ec486fd3942c7b9d6fc44f0b\",\"name\":\"Rahul Sharma\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f03d67f185bae80a46999b740a4b3c563e65fd7e72c05c573a40cd45b6598e78?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f03d67f185bae80a46999b740a4b3c563e65fd7e72c05c573a40cd45b6598e78?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f03d67f185bae80a46999b740a4b3c563e65fd7e72c05c573a40cd45b6598e78?s=96&d=mm&r=g\",\"caption\":\"Rahul Sharma\"},\"sameAs\":[\"http:\\\/\\\/devlearnings.wordpress.com\\\/\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/Rahul-Sharma\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lets Crunch big data","description":"As developers our focus is on simpler, effective solutions and thus one of the most valued principle is \u201cKeep it simple and stupid\u201d. But with Hadoop","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:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html","og_locale":"en_US","og_type":"article","og_title":"Lets Crunch big data","og_description":"As developers our focus is on simpler, effective solutions and thus one of the most valued principle is \u201cKeep it simple and stupid\u201d. But with Hadoop","og_url":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2012-10-30T17:59:30+00:00","article_modified_time":"2012-10-30T20:00:28+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-hadoop-mapreduce-logo.jpg","type":"image\/jpeg"}],"author":"Rahul Sharma","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Rahul Sharma","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html"},"author":{"name":"Rahul Sharma","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/3e76e989ec486fd3942c7b9d6fc44f0b"},"headline":"Lets Crunch big data","datePublished":"2012-10-30T17:59:30+00:00","dateModified":"2012-10-30T20:00:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html"},"wordCount":379,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-hadoop-mapreduce-logo.jpg","keywords":["Apache Crunch","Big Data"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html","url":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html","name":"Lets Crunch big data","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-hadoop-mapreduce-logo.jpg","datePublished":"2012-10-30T17:59:30+00:00","dateModified":"2012-10-30T20:00:28+00:00","description":"As developers our focus is on simpler, effective solutions and thus one of the most valued principle is \u201cKeep it simple and stupid\u201d. But with Hadoop","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-hadoop-mapreduce-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-hadoop-mapreduce-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2012\/10\/lets-crunch-big-data.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Lets Crunch big data"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/3e76e989ec486fd3942c7b9d6fc44f0b","name":"Rahul Sharma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f03d67f185bae80a46999b740a4b3c563e65fd7e72c05c573a40cd45b6598e78?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f03d67f185bae80a46999b740a4b3c563e65fd7e72c05c573a40cd45b6598e78?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f03d67f185bae80a46999b740a4b3c563e65fd7e72c05c573a40cd45b6598e78?s=96&d=mm&r=g","caption":"Rahul Sharma"},"sameAs":["http:\/\/devlearnings.wordpress.com\/"],"url":"https:\/\/www.javacodegeeks.com\/author\/Rahul-Sharma"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/2684","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/79"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=2684"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/2684\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/63"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=2684"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=2684"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=2684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}