

{"id":720,"date":"2016-08-01T17:24:29","date_gmt":"2016-08-01T17:24:29","guid":{"rendered":"http:\/\/data-flair.training\/blogs\/?p=720"},"modified":"2021-05-09T13:23:50","modified_gmt":"2021-05-09T07:53:50","slug":"apache-flink-use-case","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/","title":{"rendered":"Apache Flink Use Case Tutorial &#8211; Crime Data Analysis Part I"},"content":{"rendered":"<p>This Apache Flink use case tutorial will help you to understand the use of DataSet APIs provided by Apache Flink. In this blog, we will use various Apache Flink APIs like readCsvFile, include fields, groupBy, reduced group, etc. to analyze the crime report use-case.<\/p>\n<p>In our previous blog, we discussed how to set up Apache Flink environment in eclipse IDE and run wordcount program.<\/p>\n<h2>Platform<\/h2>\n<ul>\n<li>Operating system: Windows \/\u00a0Linux \/ Mac<\/li>\n<li>Apache Flink<\/li>\n<li>Java 7.x or higher<\/li>\n<li>IDE: Eclipse<\/li>\n<\/ul>\n<h2>Steps to make project and Add dependencies<\/h2>\n<p>1. Create\u00a0a new java project<\/p>\n<div id=\"attachment_850\" style=\"width: 543px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-make-project-v1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-850\" class=\"wp-image-850 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-make-project-v1.png\" alt=\"Apache flink Use Case Tutorial\" width=\"533\" height=\"716\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-make-project-v1.png 533w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-make-project-v1-112x150.png 112w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-make-project-v1-223x300.png 223w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><\/a><p id=\"caption-attachment-850\" class=\"wp-caption-text\">Apache Flink Use Case Tutorial- Make project<\/p><\/div>\n<p>Add the following Jars in the build path. You can find the jar files in the lib directory of Flink home:<br \/>\nflink-dist_2.11-1.0.3.jar<br \/>\nflink-python_2.11-1.0.3.jar<br \/>\nlog4j-1.2.17.jar<br \/>\nslf4j-log4j12-1.7.7.jar<\/p>\n<div id=\"attachment_814\" style=\"width: 751px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-dependency-jar-v1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-814\" class=\"wp-image-814 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-dependency-jar-v1.png\" alt=\"Apache flink Use Case Tutorial\" width=\"741\" height=\"553\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-dependency-jar-v1.png 741w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-dependency-jar-v1-150x112.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-dependency-jar-v1-300x224.png 300w\" sizes=\"auto, (max-width: 741px) 100vw, 741px\" \/><\/a><p id=\"caption-attachment-814\" class=\"wp-caption-text\">Apache Flink Use Case Tutorial- dependency jar<\/p><\/div>\n<h2>Sample Data<\/h2>\n<p>Following is the sample dataset for the Apache Flink use case:<br \/>\n[php]<br \/>\ncdatetime,address,district,beat,grid,crimedescr,ucr_ncic_code,latitude,longitude<br \/>\n1\/1\/2006 0:00,3108 OCCIDENTAL DR,3,3C,1115,484 PC PETTY THEFT\/INSIDE,2404,38.47350069,-121.4901858<br \/>\n1\/1\/2006 0:00,4 PALEN CT,2,2A,212,459 PC BURGLARY BUSINESS,2299,38.47350069,-121.4901858<br \/>\n1\/1\/2006 0:00,3547 P ST,3,3C,853,484 PC PETTY THEFT\/INSIDE,2404,38.47350069,-121.4901858<br \/>\n1\/1\/2006 0:00,3421,AUBURN BLVD,2,2A,508 459 PC BURGLARY BUSINESS,2299,38.47350069,-121.4901858<br \/>\n1\/1\/2006 0:00,6351 DRIFTWOOD ST,4,4C,1261,SUSP PERS-NO CRIME \u2013 I RPT,7000,38.47350069,-121.4901858<br \/>\n1\/1\/2006 0:01,7001 EAST PKWY,6,6C ,1427,503 PC EMBEZZLEMENT,2799,38.51436734,-121.3854286<br \/>\n1\/1\/2006 0:01,918 LAKE FRONT DR,4,4C,1294,TELEPEST -I RPT,7000,38.47948616,-121.5215057<br \/>\n1\/1\/2006 0:01,4851 KOKOMO DR,1,1A ,123,487(A) GRAND THEFT-INSIDE,2308,38.65994218,-121.5259008<br \/>\n1\/1\/2006 0:01,2377 OAK HARBOUR DR,1,1B ,440,653M(A) PC OBSCENE\/THREAT CALL,5309,38.60893745,-121.5187927<br \/>\n1\/1\/2006 0:01,1823 P ST,3,3B ,766,484 PETTY THEFT\/LICENSE PLATE,2399,38.57084621,-121.484429<br \/>\n1\/1\/2006 0:01,1100 14TH ST,3,3M,745,FOUND PROPERTY &#8211; I RPT,7000,38.57815667,-121.4876958<br \/>\n1\/1\/2006 0:01,3301 ARENA BLVD,1,1A,303,530.5 PC USE PERSONAL ID INFO,2604,38.64378844,-121.5341593<br \/>\n1\/1\/2006 0:01,1088 PREGO WAY,1,1B,404,530.5 PC USE PERSONAL ID INFO,2604,38.62798948,-121.4857344<br \/>\n1\/1\/2006 0:01,3259 SPINNING ROD WAY,1,1B,475,484J PC PUBLISH CARD INFO,2605,38.61153542,-121.5370613<br \/>\n1\/1\/2006 0:01,1010 J ST,3,3M,744,THREATS &#8211; I RPT,7000,38.57999251,-121.4930384<br \/>\n1\/1\/2006 0:01,400 BANNON ST,3,3A,704,530 PC FALSE PERS. REC PROP,2604,38.59540732,-121.4978798<br \/>\n[\/php]<br \/>\nThe above data is the crime record which has nine fields. The problem will be solved using following\u00a0two fields- crimedescr and ucr_ncic_code. We will count the occurrences\u00a0of a particular crime. To analyze the data we will include these two fields.\u00a0You can <a href=\"https:\/\/www.dropbox.com\/s\/0dsvdjrd4r3maja\/SacramentocrimeJanuary2006.csv?dl=0\" target=\"_blank\" rel=\"noopener noreferrer\">download the data file from this link<\/a>.<\/p>\n<h2>Apache Flink Use Case Tutorial &#8211; Crime Data Analysis<\/h2>\n<p>In this section on Apache Spark Use case tutorial, we will discuss two different problem statement with their solution through Flink program and output.<\/p>\n<h3>5.1. Problem Statement &#8211; 1<\/h3>\n<p>We will Analyze the Crime Record data by using Apache Flink. We will count the occurrence of a particular crime. For this KPI we will use crimedescr and ucr_ncic_code fields available in the dataset.<\/p>\n<p>We will count the occurrence of the group(crimedescr, ucr_ncic_code) as same code is assigned to more than one crime.<\/p>\n<h4>a. Apache-Flink program<\/h4>\n<p>[php]<br \/>\nimport org.apache.flink.api.common.functions.GroupReduceFunction;<br \/>\nimport org.apache.flink.api.common.functions.MapFunction;<br \/>\nimport org.apache.flink.api.java.DataSet;<br \/>\nimport org.apache.flink.api.java.ExecutionEnvironment;<br \/>\nimport org.apache.flink.api.java.tuple.Tuple2;<br \/>\nimport org.apache.flink.api.java.tuple.Tuple3;<br \/>\nimport org.apache.flink.util.Collector;<br \/>\npublic class CrimeReport{<br \/>\npublic static void main(String[] args) throws Exception {<br \/>\n\/\/ obtain an execution environment<br \/>\nExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();<br \/>\nDataSet&lt;Tuple2&lt;String, String&gt;&gt; rawdata =<br \/>\nenv.readCsvFile(&#8220;E:\\\\CrimeReport.csv&#8221;).includeFields(&#8220;0000011&#8221;).ignoreFirstLine()<br \/>\n.types(String.class, String.class);<br \/>\n\/\/ group by crimerecord and ucr_code and count number of records per group<br \/>\nrawdata.groupBy(0,1).reduceGroup(new CrimeCounter())<br \/>\n\/\/ print the result<br \/>\n.print();<br \/>\n}<br \/>\npublic static class CrimeCounter implements GroupReduceFunction&lt;Tuple2&lt;String ,String&gt;, Tuple3&lt;String ,String, Integer&gt;&gt; {<br \/>\n@Override<br \/>\npublic void reduce(Iterable&lt;Tuple2&lt;String, String&gt;&gt; records, Collector&lt;Tuple3&lt;String, String, Integer&gt;&gt; out) throws Exception {<br \/>\nString crimerecord = null;<br \/>\nString ucr_code = null;<br \/>\nint cnt = 0;<br \/>\n\/\/ count number of tuples<br \/>\nfor(Tuple2&lt;String, String&gt; m : records) {<br \/>\ncrimerecord = m.f0;<br \/>\nucr_code = m.f1;<br \/>\n\/\/ increase count<br \/>\ncnt++;<br \/>\n}<br \/>\n\/\/ emit crimerecord, ucr_code, and count<br \/>\nout.collect(new Tuple3&lt;&gt;(crimerecord, ucr_code, cnt));<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n[\/php]<\/p>\n<p>In above program, data is read using readCsvFile() method, which is used to read CSV files in flink. As we want just specific fields of CSV file we are including them using includeFields() method. ignoreFirstLine() method will ignore the first line as it is the name of columns.<\/p>\n<p>Now in this Apache Flink use case, there is no need to call map operation rather we are using groupBy() operation to group both the fields for further operation. Now reduceGroup() will simply count the occurrences of each group (each crime).\u00a0It is emitting the result as crime record,ucr_id, Count.<\/p>\n<h4>b. Output<\/h4>\n<div id=\"attachment_830\" style=\"width: 1375px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-output.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-830\" class=\"wp-image-830 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-output.png\" alt=\"Apache Flink Use Case Tutorial\" width=\"1365\" height=\"696\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-output.png 1365w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-output-150x76.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-output-300x153.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-output-768x392.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-flink-output-1024x522.png 1024w\" sizes=\"auto, (max-width: 1365px) 100vw, 1365px\" \/><\/a><p id=\"caption-attachment-830\" class=\"wp-caption-text\">Apache Flink Use Case Tutorial- output<\/p><\/div>\n<p>484 PC PETTY THEFT\/INSIDE,2404,2<br \/>\n459 PC BURGLARY BUSINESS,2299,2<br \/>\nSUSP PERS-NO CRIME \u2013 I RPT,7000,1<\/p>\n<h3>5.2. Problem Statement &#8211; 2<\/h3>\n<p>In this problem, we will analyze the data and find out Distribution of the\u00a0number of crimes happened per day and sort them in descending order for each month.<\/p>\n<h4>a. Apache Flink Program<\/h4>\n<p>[php]<br \/>\nimport java.text.SimpleDateFormat;<br \/>\nimport java.util.Calendar;<br \/>\nimport java.util.Date;<br \/>\nimport org.apache.flink.api.common.functions.MapFunction;<br \/>\nimport org.apache.flink.api.common.operators.Order;<br \/>\nimport org.apache.flink.api.java.DataSet;<br \/>\nimport org.apache.flink.api.java.ExecutionEnvironment;<br \/>\nimport org.apache.flink.api.java.tuple.Tuple1;<br \/>\nimport org.apache.flink.api.java.tuple.Tuple3;<br \/>\npublic class DailyCrimeAnalysis {<br \/>\npublic static void main(String[] args) throws Exception {<br \/>\nExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();<br \/>\nDataSet &lt; Tuple1 &lt; String &gt;&gt; rawdata = env.readCsvFile(&#8220;E:\\\\SacramentocrimeJanuary2006.csv&#8221;).includeFields(&#8220;1000000&#8221;).ignoreFirstLine()<br \/>\n.types(String.class);<br \/>\nrawdata.map(new DateExtractor()) \/\/map data according to MM\/dd\/YYYY<br \/>\n.groupBy(0) \/\/group according to date<br \/>\n.sum(2) \/\/sum the count on the field 2<br \/>\n.groupBy(1)\/\/ group the data according to field 1 that is month\/year<br \/>\n.sortGroup(2, Order.DESCENDING).first(50) \/\/ arrange the data in decreasing order<br \/>\n.writeAsCsv(&#8220;E:\/\/Output5569&#8221;);<br \/>\nenv.execute();<br \/>\n}<br \/>\npublic static class DateExtractor implements MapFunction &lt; Tuple1 &lt; String &gt; , Tuple3 &lt; String, String, Integer &gt;&gt; {<br \/>\nSimpleDateFormat formatter = new SimpleDateFormat(&#8220;MM\/dd\/yyyy&#8221;);<br \/>\nSimpleDateFormat formatter2 = new SimpleDateFormat(&#8220;MM\/dd\/yyyy HH:mm&#8221;);<br \/>\n@Override<br \/>\npublic Tuple3 &lt; String, String, Integer &gt; map(Tuple1 &lt; String &gt; time) throws Exception {<br \/>\nDate date = formatter2.parse(time.f0);<br \/>\nCalendar cal = Calendar.getInstance();<br \/>\ncal.setTime(date);<br \/>\nint month = cal.get(Calendar.MONTH) + 1;<br \/>\nint year = cal.get(Calendar.YEAR);<br \/>\nreturn new Tuple3 &lt; &gt; (formatter.format(date), &#8220;&#8221; + month + &#8220;\/&#8221; + year, 1);<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n[\/php]<\/p>\n<h4>b. Output<\/h4>\n<p><div id=\"attachment_1117\" style=\"width: 1371px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-output2.1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1117\" class=\"wp-image-1117 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-output2.1.png\" alt=\"Apache Flink Use Case Tutorial\" width=\"1361\" height=\"608\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-output2.1.png 1361w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-output2.1-150x67.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-output2.1-300x134.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-output2.1-768x343.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-output2.1-1024x457.png 1024w\" sizes=\"auto, (max-width: 1361px) 100vw, 1361px\" \/><\/a><p id=\"caption-attachment-1117\" class=\"wp-caption-text\">Apache Flink Use Case Tutorial- output v2<\/p><\/div><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:2460,&quot;href&quot;:&quot;https:\\\/\\\/www.dropbox.com\\\/s\\\/0dsvdjrd4r3maja\\\/SacramentocrimeJanuary2006.csv?dl=0&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;https:\\\/\\\/www.dropbox.com\\\/scl\\\/fi\\\/n2m4zdejlx4k6b7\\\/SacramentocrimeJanuary2006.csv?rlkey=lb3532svb5q2sqcd2tknjluam\\u0026dl=0&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>This Apache Flink use case tutorial will help you to understand the use of DataSet APIs provided by Apache Flink. In this blog, we will use various Apache Flink APIs like readCsvFile, include fields,&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":34404,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[750,4738,4739,4740,4754,4758,4770,4790],"class_list":["post-720","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-flink","tag-apache-flink","tag-flink","tag-flink-apis","tag-flink-application","tag-flink-data-analysis","tag-flink-eclipse","tag-flink-java","tag-flink-use-case"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache Flink Use Case Tutorial - Crime Data Analysis Part I - DataFlair<\/title>\n<meta name=\"description\" content=\"Apache Flink Use Case Flink DataSet APIs-Learn Flink APIs-readCsvFile, includeFields,groupBy,reduceGroup to analyze Flink use case of crime report.\" \/>\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\/apache-flink-use-case\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Flink Use Case Tutorial - Crime Data Analysis Part I - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Apache Flink Use Case Flink DataSet APIs-Learn Flink APIs-readCsvFile, includeFields,groupBy,reduceGroup to analyze Flink use case of crime report.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/\" \/>\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=\"2016-08-01T17:24:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-05-09T07:53:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-Use-Case-Tutorial-01.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=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache Flink Use Case Tutorial - Crime Data Analysis Part I - DataFlair","description":"Apache Flink Use Case Flink DataSet APIs-Learn Flink APIs-readCsvFile, includeFields,groupBy,reduceGroup to analyze Flink use case of crime report.","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\/apache-flink-use-case\/","og_locale":"en_US","og_type":"article","og_title":"Apache Flink Use Case Tutorial - Crime Data Analysis Part I - DataFlair","og_description":"Apache Flink Use Case Flink DataSet APIs-Learn Flink APIs-readCsvFile, includeFields,groupBy,reduceGroup to analyze Flink use case of crime report.","og_url":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2016-08-01T17:24:29+00:00","article_modified_time":"2021-05-09T07:53:50+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-Use-Case-Tutorial-01.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":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Apache Flink Use Case Tutorial &#8211; Crime Data Analysis Part I","datePublished":"2016-08-01T17:24:29+00:00","dateModified":"2021-05-09T07:53:50+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/"},"wordCount":1086,"commentCount":4,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-Use-Case-Tutorial-01.jpg","keywords":["apache flink","flink","flink apis","flink application","flink data analysis","flink eclipse","flink java","flink use-case"],"articleSection":["Apache Flink Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/","url":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/","name":"Apache Flink Use Case Tutorial - Crime Data Analysis Part I - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-Use-Case-Tutorial-01.jpg","datePublished":"2016-08-01T17:24:29+00:00","dateModified":"2021-05-09T07:53:50+00:00","description":"Apache Flink Use Case Flink DataSet APIs-Learn Flink APIs-readCsvFile, includeFields,groupBy,reduceGroup to analyze Flink use case of crime report.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-Use-Case-Tutorial-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/08\/Apache-Flink-Use-Case-Tutorial-01.jpg","width":1200,"height":628,"caption":"Apache Flink Use Case Tutorial"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/apache-flink-use-case\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Apache Flink Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/flink\/"},{"@type":"ListItem","position":3,"name":"Apache Flink Use Case Tutorial &#8211; Crime Data Analysis Part I"}]},{"@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\/720","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=720"}],"version-history":[{"count":1,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/720\/revisions"}],"predecessor-version":[{"id":94130,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/720\/revisions\/94130"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/34404"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}