{"id":930,"date":"2012-02-11T16:37:00","date_gmt":"2012-02-11T16:37:00","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/2012\/10\/big-data-analytics-with-hive-and-ireport.html"},"modified":"2012-10-26T08:21:22","modified_gmt":"2012-10-26T08:21:22","slug":"big-data-analytics-with-hive-and","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html","title":{"rendered":"Big Data analytics with Hive and iReport"},"content":{"rendered":"<div dir=\"ltr\" style=\"text-align: left\">Each J.J. Abrams&#8217; TV series <a href=\"http:\/\/en.wikipedia.org\/wiki\/Person_of_Interest_%28TV_series%29\"><i>Person of Interest<\/i><\/a> episode starts with the following narration from Mr. Finch one of the leading characters: \u201c<i>You are being watched. The government has a secret system&#8211;a machine that spies on you every hour of every day. I know because&#8230;I built it.<\/i>\u201d Of course us technical people know better. It would take a huge team of electrical and software engineers many years to build such a high performing machine and the budget would be unimaginable&#8230; or wouldn&#8217;t be? Wait a second we have <a href=\"http:\/\/hadoop.apache.org\/\">Hadoop<\/a>!  Now everyone of us can be Mr. Finch for a modest budget thanks to <a href=\"http:\/\/hadoop.apache.org\/\">Hadoop<\/a>.<\/p>\n<p>In JCG article &#8220;<a href=\"http:\/\/www.javacodegeeks.com\/2012\/01\/hadoop-modes-explained-standalone.html\">Hadoop Modes Explained &#8211; Standalone, Pseudo Distributed, Distributed<\/a>\u201d JCG partner Rahul Patodi explained how to setup <a href=\"http:\/\/hadoop.apache.org\/\">Hadoop<\/a>.  The <a href=\"http:\/\/hadoop.apache.org\/\">Hadoop <\/a>project has produced a lot of tools for analyzing semi-structured data but <a href=\"http:\/\/hive.apache.org\/\">Hive<\/a> is perhaps the most intuitive among them as it allows anyone with an SQL background to submit MapReduce jobs described as SQL queries.  <a href=\"http:\/\/hive.apache.org\/\">Hive<\/a> can be executed from a command line interface, as well as run in a server mode with a <a href=\"http:\/\/thrift.apache.org\/\">Thrift<\/a> client acting as a JDBC\/ODBC interface giving access to data analysis and reporting applications.<\/p>\n<p>In this article we will set up a <a href=\"http:\/\/hive.apache.org\/\">Hive<\/a> Server, create a table, load it with data from a text file and then create a Jasper Resport using <a href=\"http:\/\/jasperforge.org\/projects\/ireport\">iReport<\/a>. The Jasper Report executes an SQL query on the <a href=\"http:\/\/hive.apache.org\/\">Hive<\/a> Server that is then translated to a MapReduce job executed by <a href=\"http:\/\/hadoop.apache.org\/\">Hadoop<\/a>.<\/p>\n<p>Note: I used Hadoop version 0.20.205, Hive version 0.7.1 and iReport version 4.5 running OpenSuSE  12.1 Linux with <a href=\"http:\/\/www.mysql.com\/\">MySQL<\/a> 5.5 installed.<\/p>\n<p>Assuming you have already installed <a href=\"http:\/\/hadoop.apache.org\/\">Hadoop<\/a> download and install <a href=\"http:\/\/hive.apache.org\/\">Hive<\/a> following the <a href=\"http:\/\/hive.apache.org\/\">Hive<\/a> <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/Hive\/GettingStarted\">Getting Started<\/a> wiki instructions. By default <a href=\"http:\/\/hive.apache.org\/\">Hive<\/a> is installed in CLI mode running on a Standalone <a href=\"http:\/\/hadoop.apache.org\/\">Hadoop<\/a> mode.<\/p>\n<p><strong>Making a multiuser Hive metastore<\/strong><\/p>\n<p>The default Hive install uses a derby embedded database as its metastore. The metastore is where Hive maintains descriptions of the data we want to access via SQL.  In order for the metastore to be accessible from many users simultaneously it is necessary to be moved into a standalone database.  Here is how to install a MySQL metastore.<\/p>\n<ol>\n<li>Copy the MySQL <a href=\"http:\/\/www.mysql.com\/downloads\/connector\/j\/\">JDBC  driver<\/a> jar file to <i>~\/hive-0.7.1-bin\/lib<\/i> directory\n<\/li>\n<li>Change the following properties in file <i>hive-default.xml<\/i> found in <i>~\/hive-0.7.1-bin\/conf<\/i> directory:\n<pre class=\"brush:xml\">&lt;property&gt;\r\n  &lt;name&gt;javax.jdo.option.ConnectionURL&lt;\/name&gt;\r\n  &lt;value&gt;jdbc:mysql:\/\/hyperion\/metastore?createDatabaseIfNotExist=true&lt;\/value&gt;\r\n  &lt;description&gt;JDBC connect string for a JDBC metastore&lt;\/description&gt;\r\n&lt;\/property&gt;\r\n\r\n&lt;property&gt;\r\n  &lt;name&gt;javax.jdo.option.ConnectionDriverName&lt;\/name&gt;\r\n  &lt;value&gt;com.mysql.jdbc.Driver&lt;\/value&gt;\r\n  &lt;description&gt;Driver class name for a JDBC metastore&lt;\/description&gt;\r\n&lt;\/property&gt;\r\n\r\n&lt;property&gt;\r\n  &lt;name&gt;javax.jdo.option.ConnectionUserName&lt;\/name&gt;\r\n  &lt;value&gt;foo&lt;\/value&gt;\r\n  &lt;description&gt;Username to connect to the database&lt;\/description&gt;\r\n&lt;\/property&gt;\r\n\r\n&lt;property&gt;\r\n  &lt;name&gt;javax.jdo.option.ConnectionPassword&lt;\/name&gt;\r\n  &lt;value&gt;bar&lt;\/value&gt;\r\n  &lt;description&gt;Password to connect to the database&lt;\/description&gt;\r\n&lt;\/property&gt;\r\n<\/pre>\n<\/li>\n<li>Use MySQL workbench or the MySQL command line utility to create a schema using the latin1 character set. If Hive does not find a schema it will create it on its own using the default character set for MySQL.  In my case that was UTF-8 and that generated jdbc errors.  If you want to use the command line utility just type:\n<pre class=\"brush:bash\">mysql&gt; CREATE DATABASE  IF NOT EXISTS `metastore` DEFAULT CHARACTER SET latin1 COLLATE latin1_bin;\r\n<\/pre>\n<\/li>\n<li>Type Hive in your command prompt to enter Hive CLI and type:\n<pre class=\"brush:bash\">hive&gt; SHOW TABLES;\r\nOK\r\ntestlines\r\nTime taken: 3.654 seconds\r\nhive&gt; \r\n<\/pre>\n<p>That will populate your newly created metastore schema.  If you see any errors check your <i>hive-default.xml<\/i> configuration and make sure your database schema is named &#8216;metastore&#8217; with latin1 as the default Character Set.\n<\/li>\n<\/ol>\n<p><strong><br \/>\n<\/strong><br \/>\n<strong>Now let&#8217;s populate Hadoop Hive with some data<\/strong><div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>Let&#8217;s just create two text files named <strong><i>file01 <\/i><\/strong>and <strong><i>file02 <\/i><\/strong>each containing:<\/p>\n<p><strong><i>file01<\/i>:<\/strong><br \/>\nHello World Bye World<br \/>\nHello Everybody Bye Everybody<\/p>\n<p><strong><i>file02<\/i>:<\/strong><br \/>\nHello Hadoop Goodbye Hadoop<br \/>\nHello Everybody Goodbye Everybody<\/p>\n<p>Copy these files from your local filesystem to HDFS:<\/p>\n<pre class=\"brush:bash\">$ hadoop fs -mkdir HiveExample\r\n$ hadoop fs -copyFromLocal ~\/file* \/user\/ssake\/HiveExample\r\n<\/pre>\n<p>Go to Hive CLI and create a table named testlines that would contain each line&#8217;s words in an array of strings:<\/p>\n<pre class=\"brush:sql\">hive&gt; create table testlines (line array&lt;string&gt;) row format delimited collection items terminated by ' ';\r\n<\/pre>\n<p>Load the text files into Hive:<\/p>\n<pre class=\"brush:bash\">hive&gt; load data inpath \"\/user\/ssake\/HiveExample\/file01\" INTO table testlines;\r\nhive&gt; load data inpath \"\/user\/ssake\/HiveExample\/file02\" INTO table testlines;\r\n<\/pre>\n<p>Check that testlines now contains each line&#8217;s words:<\/p>\n<pre class=\"brush:sql\">hive&gt; select * from testlines;\r\nOK\r\n[\"Hello\",\"World\",\"Bye\",\"World\"]\r\n[\"Hello\",\"Everybody\",\"Bye\",\"Everybody\"]\r\n[\"Hello\",\"Hadoop\",\"Goodbye\",\"Hadoop\"]\r\n[\"Hello\",\"Everybody\",\"Goodbye\",\"Everybody\"]\r\nTime taken: 0.21 seconds\r\n<\/pre>\n<p>Now that we have a Hive with data we can run it as a server in port 10000 which is typical for running a hive server:<\/p>\n<pre class=\"brush:bash\">$ HIVE_PORT=10000\r\n$ hive --service hiveserver \r\n<\/pre>\n<p>With this setup it is possible to have several Thrift clients accessing our Hive server.  However according to the <a href=\"https:\/\/cwiki.apache.org\/Hive\/hiveserver.html\">Apache Hive blog<\/a> the multithreaded Hive features are not thoroughly tested and thus it is safer to use a separate port and hive instance per Thrift client.<\/p>\n<p><strong>Create a &#8220;word count&#8221; report<\/strong><\/p>\n<p><a href=\"http:\/\/jasperforge.org\/projects\/ireport\">iReport 4.5<\/a> supports hive datasources so let&#8217;s use it to create a report that runs with our hive server as its datasource:<\/p>\n<p>1. Create a datasource connecting to the hive server<\/p>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/2.bp.blogspot.com\/-p4-DEadK8uE\/TzZuin1zJBI\/AAAAAAAAAEM\/HCWjndfFUok\/s1600\/ireport-hive-1.png\"><img decoding=\"async\" border=\"0\" height=\"320\" src=\"http:\/\/2.bp.blogspot.com\/-p4-DEadK8uE\/TzZuin1zJBI\/AAAAAAAAAEM\/HCWjndfFUok\/s320\/ireport-hive-1.png\" width=\"271\" \/><\/a><\/div>\n<p>2. Use the report wizard to generate your report<\/p>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/1.bp.blogspot.com\/-3-F3ZJyWajM\/TzZupByayZI\/AAAAAAAAAEU\/pcHNIj-IetA\/s1600\/ireport-hive-2.png\"><img decoding=\"async\" border=\"0\" height=\"233\" src=\"http:\/\/1.bp.blogspot.com\/-3-F3ZJyWajM\/TzZupByayZI\/AAAAAAAAAEU\/pcHNIj-IetA\/s320\/ireport-hive-2.png\" width=\"320\" \/><\/a><\/div>\n<p>3. Type the following in the <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/Hive\/LanguageManual\">HiveQL<\/a> Query input box:<\/p>\n<pre class=\"brush:sql\">select word,count(word) from testlines lateral view explode(line) words as word group by word\r\n<\/pre>\n<p>Lets briefly explain what the above query does:<\/p>\n<p>Our source table, the &#8220;testlines&#8221; table, has a single column named &#8220;line&#8221; which contains data in the form of array of strings. Each array of strings represents the words in a sentence as found in the imported files &#8220;<strong><i>file01<\/i><\/strong>&#8221; and &#8220;<strong><i>file02<\/i><\/strong>&#8220;.<\/p>\n<p>In order to properly count the occurrences of each distinct word in all of the input files we have to &#8220;explode&#8221; the arrays of strings from our source table into a new one that should contain every individual word. To do so we use the <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/Hive\/LanguageManual+LateralView\">&#8220;lateral view&#8221; in conjunction with the &#8220;explode()&#8221; HiveQL<\/a> commands as shown above.<\/p>\n<p>Issuing the <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/Hive\/LanguageManual\">HiveQL<\/a> query above we create an new iconic table named &#8220;words&#8221; that has a single column named &#8220;word&#8221; containing all the words found in every string array from our &#8220;testlines&#8221; table.<\/p>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/1.bp.blogspot.com\/-bLt4tTDl1lQ\/TzZuveCzxRI\/AAAAAAAAAEc\/E8BPmKjH8sA\/s1600\/ireport-hive-3.png\"><img decoding=\"async\" border=\"0\" height=\"233\" src=\"http:\/\/1.bp.blogspot.com\/-bLt4tTDl1lQ\/TzZuveCzxRI\/AAAAAAAAAEc\/E8BPmKjH8sA\/s320\/ireport-hive-3.png\" width=\"320\" \/><\/a><\/div>\n<p>4. Click the \u2026 button to select all fileds and click next<\/p>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/3.bp.blogspot.com\/-0gAOqkaWSU0\/TzZuzrYkRII\/AAAAAAAAAEk\/oF13EboEbgs\/s1600\/ireport-hive-4.png\"><img decoding=\"async\" border=\"0\" height=\"233\" src=\"http:\/\/3.bp.blogspot.com\/-0gAOqkaWSU0\/TzZuzrYkRII\/AAAAAAAAAEk\/oF13EboEbgs\/s320\/ireport-hive-4.png\" width=\"320\" \/><\/a><\/div>\n<p>5. When you are at the designer view click the Preview tab to execute your HiveQL report<\/p>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/2.bp.blogspot.com\/-_j52g5byC_g\/TzZu6DXImiI\/AAAAAAAAAEs\/MvNQaQjR6Zw\/s1600\/ireport-hive-5.png\"><img decoding=\"async\" border=\"0\" height=\"166\" src=\"http:\/\/2.bp.blogspot.com\/-_j52g5byC_g\/TzZu6DXImiI\/AAAAAAAAAEs\/MvNQaQjR6Zw\/s320\/ireport-hive-5.png\" width=\"320\" \/><\/a><\/div>\n<p>And here is our report:<\/p>\n<div class=\"separator\" style=\"clear: both;text-align: center\"><a href=\"http:\/\/2.bp.blogspot.com\/-h85I1EaiOdw\/TzZu_q2dMeI\/AAAAAAAAAE0\/wujlsrYVrZw\/s1600\/ireport-hive-6.png\"><img decoding=\"async\" border=\"0\" height=\"203\" src=\"http:\/\/2.bp.blogspot.com\/-h85I1EaiOdw\/TzZu_q2dMeI\/AAAAAAAAAE0\/wujlsrYVrZw\/s320\/ireport-hive-6.png\" width=\"320\" \/><\/a><\/div>\n<p>Now you are all set to build applications that access your Hadoop data using the familiar JDBC interface!<\/p>\n<p><strong><i>Reference:&nbsp;<\/i><\/strong><i>Big Data analytics with Hive and iReport<\/i>&nbsp;from our <a href=\"http:\/\/www.javacodegeeks.com\/p\/w4g.html\">W4G partner<\/a> <a href=\"http:\/\/gr.linkedin.com\/pub\/sakellariou-spyros\/1\/480\/b18\">Spyros Sakellariou<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Each J.J. Abrams&#8217; TV series Person of Interest episode starts with the following narration from Mr. Finch one of the leading characters: \u201cYou are being watched. The government has a secret system&#8211;a machine that spies on you every hour of every day. I know because&#8230;I built it.\u201d Of course us technical people know better. It &hellip;<\/p>\n","protected":false},"author":311,"featured_media":144,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[371,184,374,372,373,175,183,238,206],"class_list":["post-930","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-analytics","tag-apache-hadoop","tag-apache-hive","tag-big-data","tag-jaspersoft-ireport","tag-jaspersoft-jasperreports","tag-mapreduce","tag-spyros-sakellariou","tag-w4g"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Big Data analytics with Hive and iReport - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Each J.J. Abrams&#039; TV series Person of Interest episode starts with the following narration from Mr. Finch one of the leading characters: \u201cYou are being\" \/>\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\/02\/big-data-analytics-with-hive-and.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Big Data analytics with Hive and iReport - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Each J.J. Abrams&#039; TV series Person of Interest episode starts with the following narration from Mr. Finch one of the leading characters: \u201cYou are being\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.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-02-11T16:37:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-10-26T08:21:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/jaspersoft-ireport-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=\"Spyros Sakellariou\" \/>\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=\"Spyros Sakellariou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html\"},\"author\":{\"name\":\"Spyros Sakellariou\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/720cbce6bf34368577bca92d044827f9\"},\"headline\":\"Big Data analytics with Hive and iReport\",\"datePublished\":\"2012-02-11T16:37:00+00:00\",\"dateModified\":\"2012-10-26T08:21:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html\"},\"wordCount\":915,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/jaspersoft-ireport-logo.jpg\",\"keywords\":[\"Analytics\",\"Apache Hadoop\",\"Apache Hive\",\"Big Data\",\"Jaspersoft iReport\",\"Jaspersoft JasperReports\",\"MapReduce\",\"Spyros Sakellariou\",\"W4G\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html\",\"name\":\"Big Data analytics with Hive and iReport - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/jaspersoft-ireport-logo.jpg\",\"datePublished\":\"2012-02-11T16:37:00+00:00\",\"dateModified\":\"2012-10-26T08:21:22+00:00\",\"description\":\"Each J.J. Abrams' TV series Person of Interest episode starts with the following narration from Mr. Finch one of the leading characters: \u201cYou are being\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/jaspersoft-ireport-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/jaspersoft-ireport-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/02\\\/big-data-analytics-with-hive-and.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\":\"Big Data analytics with Hive and iReport\"}]},{\"@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\\\/720cbce6bf34368577bca92d044827f9\",\"name\":\"Spyros Sakellariou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1f277f6c18ec3de65081d1f237635a466a0029a8faa53d054a404c94c0c3ee15?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1f277f6c18ec3de65081d1f237635a466a0029a8faa53d054a404c94c0c3ee15?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1f277f6c18ec3de65081d1f237635a466a0029a8faa53d054a404c94c0c3ee15?s=96&d=mm&r=g\",\"caption\":\"Spyros Sakellariou\"},\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/spyros-sakellariou\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Big Data analytics with Hive and iReport - Java Code Geeks","description":"Each J.J. Abrams' TV series Person of Interest episode starts with the following narration from Mr. Finch one of the leading characters: \u201cYou are being","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\/02\/big-data-analytics-with-hive-and.html","og_locale":"en_US","og_type":"article","og_title":"Big Data analytics with Hive and iReport - Java Code Geeks","og_description":"Each J.J. Abrams' TV series Person of Interest episode starts with the following narration from Mr. Finch one of the leading characters: \u201cYou are being","og_url":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2012-02-11T16:37:00+00:00","article_modified_time":"2012-10-26T08:21:22+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/jaspersoft-ireport-logo.jpg","type":"image\/jpeg"}],"author":"Spyros Sakellariou","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Spyros Sakellariou","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html"},"author":{"name":"Spyros Sakellariou","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/720cbce6bf34368577bca92d044827f9"},"headline":"Big Data analytics with Hive and iReport","datePublished":"2012-02-11T16:37:00+00:00","dateModified":"2012-10-26T08:21:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html"},"wordCount":915,"commentCount":1,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/jaspersoft-ireport-logo.jpg","keywords":["Analytics","Apache Hadoop","Apache Hive","Big Data","Jaspersoft iReport","Jaspersoft JasperReports","MapReduce","Spyros Sakellariou","W4G"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html","url":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html","name":"Big Data analytics with Hive and iReport - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/jaspersoft-ireport-logo.jpg","datePublished":"2012-02-11T16:37:00+00:00","dateModified":"2012-10-26T08:21:22+00:00","description":"Each J.J. Abrams' TV series Person of Interest episode starts with the following narration from Mr. Finch one of the leading characters: \u201cYou are being","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/jaspersoft-ireport-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/jaspersoft-ireport-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2012\/02\/big-data-analytics-with-hive-and.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":"Big Data analytics with Hive and iReport"}]},{"@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\/720cbce6bf34368577bca92d044827f9","name":"Spyros Sakellariou","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1f277f6c18ec3de65081d1f237635a466a0029a8faa53d054a404c94c0c3ee15?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1f277f6c18ec3de65081d1f237635a466a0029a8faa53d054a404c94c0c3ee15?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1f277f6c18ec3de65081d1f237635a466a0029a8faa53d054a404c94c0c3ee15?s=96&d=mm&r=g","caption":"Spyros Sakellariou"},"url":"https:\/\/www.javacodegeeks.com\/author\/spyros-sakellariou"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/930","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\/311"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=930"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/930\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/144"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=930"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=930"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=930"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}