diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..8079e3d
Binary files /dev/null and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e46dc1d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/movies.csv
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..38656ed
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..712ab9d
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__asm_asm_3_1.xml b/.idea/libraries/Maven__asm_asm_3_1.xml
new file mode 100644
index 0000000..3386f10
--- /dev/null
+++ b/.idea/libraries/Maven__asm_asm_3_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_guava_guava_16_0.xml b/.idea/libraries/Maven__com_google_guava_guava_16_0.xml
new file mode 100644
index 0000000..91cff2f
--- /dev/null
+++ b/.idea/libraries/Maven__com_google_guava_guava_16_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_8.xml b/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_8.xml
new file mode 100644
index 0000000..bf486c9
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_8.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_jersey_jersey_json_1_8.xml b/.idea/libraries/Maven__com_sun_jersey_jersey_json_1_8.xml
new file mode 100644
index 0000000..ab01cdd
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_jersey_jersey_json_1_8.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_jersey_jersey_server_1_8.xml b/.idea/libraries/Maven__com_sun_jersey_jersey_server_1_8.xml
new file mode 100644
index 0000000..e7e8ba0
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_jersey_jersey_server_1_8.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_xml_bind_jaxb_impl_2_2_3_1.xml b/.idea/libraries/Maven__com_sun_xml_bind_jaxb_impl_2_2_3_1.xml
new file mode 100644
index 0000000..1165a3b
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_xml_bind_jaxb_impl_2_2_3_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_4.xml b/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_4.xml
new file mode 100644
index 0000000..2c3025b
--- /dev/null
+++ b/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_7_0.xml b/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_7_0.xml
new file mode 100644
index 0000000..1cb64ed
--- /dev/null
+++ b/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_7_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_beanutils_commons_beanutils_core_1_8_0.xml b/.idea/libraries/Maven__commons_beanutils_commons_beanutils_core_1_8_0.xml
new file mode 100644
index 0000000..3fda2c0
--- /dev/null
+++ b/.idea/libraries/Maven__commons_beanutils_commons_beanutils_core_1_8_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml b/.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml
new file mode 100644
index 0000000..cec2493
--- /dev/null
+++ b/.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_4.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_4.xml
new file mode 100644
index 0000000..2b149c4
--- /dev/null
+++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml b/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml
new file mode 100644
index 0000000..3caee7e
--- /dev/null
+++ b/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_configuration_commons_configuration_1_6.xml b/.idea/libraries/Maven__commons_configuration_commons_configuration_1_6.xml
new file mode 100644
index 0000000..ae96781
--- /dev/null
+++ b/.idea/libraries/Maven__commons_configuration_commons_configuration_1_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_digester_commons_digester_1_8.xml b/.idea/libraries/Maven__commons_digester_commons_digester_1_8.xml
new file mode 100644
index 0000000..49f1def
--- /dev/null
+++ b/.idea/libraries/Maven__commons_digester_commons_digester_1_8.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_el_commons_el_1_0.xml b/.idea/libraries/Maven__commons_el_commons_el_1_0.xml
new file mode 100644
index 0000000..598d1b0
--- /dev/null
+++ b/.idea/libraries/Maven__commons_el_commons_el_1_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_0_1.xml b/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_0_1.xml
new file mode 100644
index 0000000..f040f16
--- /dev/null
+++ b/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_1.xml b/.idea/libraries/Maven__commons_io_commons_io_2_1.xml
new file mode 100644
index 0000000..3b78142
--- /dev/null
+++ b/.idea/libraries/Maven__commons_io_commons_io_2_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_lang_commons_lang_2_4.xml b/.idea/libraries/Maven__commons_lang_commons_lang_2_4.xml
new file mode 100644
index 0000000..5e8b8d3
--- /dev/null
+++ b/.idea/libraries/Maven__commons_lang_commons_lang_2_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_0_3.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_0_3.xml
new file mode 100644
index 0000000..e20ca3a
--- /dev/null
+++ b/.idea/libraries/Maven__commons_logging_commons_logging_1_0_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_net_commons_net_1_4_1.xml b/.idea/libraries/Maven__commons_net_commons_net_1_4_1.xml
new file mode 100644
index 0000000..7fb71b5
--- /dev/null
+++ b/.idea/libraries/Maven__commons_net_commons_net_1_4_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_activation_activation_1_1.xml b/.idea/libraries/Maven__javax_activation_activation_1_1.xml
new file mode 100644
index 0000000..180d587
--- /dev/null
+++ b/.idea/libraries/Maven__javax_activation_activation_1_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_xml_bind_jaxb_api_2_2_2.xml b/.idea/libraries/Maven__javax_xml_bind_jaxb_api_2_2_2.xml
new file mode 100644
index 0000000..a3054d2
--- /dev/null
+++ b/.idea/libraries/Maven__javax_xml_bind_jaxb_api_2_2_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml b/.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml
new file mode 100644
index 0000000..2a4dd7a
--- /dev/null
+++ b/.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__junit_junit_4_7.xml b/.idea/libraries/Maven__junit_junit_4_7.xml
new file mode 100644
index 0000000..4402995
--- /dev/null
+++ b/.idea/libraries/Maven__junit_junit_4_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml
new file mode 100644
index 0000000..32bfe3b
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_commons_commons_math3_3_2.xml b/.idea/libraries/Maven__org_apache_commons_commons_math3_3_2.xml
new file mode 100644
index 0000000..dde81ab
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_commons_commons_math3_3_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_commons_commons_math_2_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_math_2_1.xml
new file mode 100644
index 0000000..eaa8a65
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_commons_commons_math_2_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_hadoop_hadoop_core_1_2_1.xml b/.idea/libraries/Maven__org_apache_hadoop_hadoop_core_1_2_1.xml
new file mode 100644
index 0000000..cd8023f
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_hadoop_hadoop_core_1_2_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_lucene_lucene_analyzers_common_4_6_1.xml b/.idea/libraries/Maven__org_apache_lucene_lucene_analyzers_common_4_6_1.xml
new file mode 100644
index 0000000..2717cd6
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_lucene_lucene_analyzers_common_4_6_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_lucene_lucene_core_4_6_1.xml b/.idea/libraries/Maven__org_apache_lucene_lucene_core_4_6_1.xml
new file mode 100644
index 0000000..66fc4a9
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_lucene_lucene_core_4_6_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_mahout_commons_commons_cli_2_0_mahout.xml b/.idea/libraries/Maven__org_apache_mahout_commons_commons_cli_2_0_mahout.xml
new file mode 100644
index 0000000..c672cac
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_mahout_commons_commons_cli_2_0_mahout.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_mahout_mahout_core_0_9.xml b/.idea/libraries/Maven__org_apache_mahout_mahout_core_0_9.xml
new file mode 100644
index 0000000..79debcc
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_mahout_mahout_core_0_9.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_mahout_mahout_math_0_9.xml b/.idea/libraries/Maven__org_apache_mahout_mahout_math_0_9.xml
new file mode 100644
index 0000000..98bd640
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_mahout_mahout_math_0_9.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_solr_solr_commons_csv_3_5_0.xml b/.idea/libraries/Maven__org_apache_solr_solr_commons_csv_3_5_0.xml
new file mode 100644
index 0000000..36db039
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_solr_solr_commons_csv_3_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_12.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_12.xml
new file mode 100644
index 0000000..a02acc0
--- /dev/null
+++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_jaxrs_1_7_1.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_jaxrs_1_7_1.xml
new file mode 100644
index 0000000..9039684
--- /dev/null
+++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_jaxrs_1_7_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_12.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_12.xml
new file mode 100644
index 0000000..2e3cd1a
--- /dev/null
+++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_xc_1_7_1.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_xc_1_7_1.xml
new file mode 100644
index 0000000..dc10a10
--- /dev/null
+++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_xc_1_7_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_codehaus_jettison_jettison_1_1.xml b/.idea/libraries/Maven__org_codehaus_jettison_jettison_1_1.xml
new file mode 100644
index 0000000..d62802e
--- /dev/null
+++ b/.idea/libraries/Maven__org_codehaus_jettison_jettison_1_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_5.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_5.xml
new file mode 100644
index 0000000..6f808f1
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_25.xml b/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_25.xml
new file mode 100644
index 0000000..8bc862b
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_25.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__stax_stax_api_1_0_1.xml b/.idea/libraries/Maven__stax_stax_api_1_0_1.xml
new file mode 100644
index 0000000..0b13335
--- /dev/null
+++ b/.idea/libraries/Maven__stax_stax_api_1_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml b/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml
new file mode 100644
index 0000000..0f2d9ef
--- /dev/null
+++ b/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml b/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml
new file mode 100644
index 0000000..6726a2d
--- /dev/null
+++ b/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..17e19eb
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..7d1fd96
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..a63a058
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ "keyToString": {
+ "RunOnceActivity.OpenProjectViewOnStart": "true",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "SHARE_PROJECT_CONFIGURATION_FILES": "true",
+ "jdk.selected.JAVA_MODULE": "11",
+ "last_opened_file_path": "/Users/diegogochez/Documents/GitHub/academy-exercises",
+ "project.structure.last.edited": "Project",
+ "project.structure.proportion": "0.15",
+ "project.structure.side.proportion": "0.2",
+ "settings.editor.selected.configurable": "configurable.group.language"
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1650301040161
+
+
+ 1650301040161
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 8169ff7..40e5cfd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,19 @@
nearsoft.academy
big-data
1.0-SNAPSHOT
- jar
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 11
+ 11
+
+
+
+
+ jar
big-data
http://maven.apache.org
@@ -26,5 +38,11 @@
4.7
test
+
+ org.slf4j
+ slf4j-simple
+ 1.7.25
+ test
+
diff --git a/src/test/java/nearsoft/academy/bigdata/recommendation/MovieRecommender.java b/src/test/java/nearsoft/academy/bigdata/recommendation/MovieRecommender.java
new file mode 100644
index 0000000..766d1b3
--- /dev/null
+++ b/src/test/java/nearsoft/academy/bigdata/recommendation/MovieRecommender.java
@@ -0,0 +1,135 @@
+package nearsoft.academy.bigdata.recommendation;
+
+import org.apache.mahout.cf.taste.common.TasteException;
+import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
+import org.apache.mahout.cf.taste.impl.neighborhood.ThresholdUserNeighborhood;
+import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;
+import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;
+import org.apache.mahout.cf.taste.model.DataModel;
+import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;
+import org.apache.mahout.cf.taste.recommender.RecommendedItem;
+import org.apache.mahout.cf.taste.recommender.UserBasedRecommender;
+import org.apache.mahout.cf.taste.similarity.UserSimilarity;
+import org.junit.Before;
+import org.junit.internal.matchers.StringContains;
+
+import java.io.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.zip.GZIPInputStream;
+
+public class MovieRecommender {
+ private String originDataPath;
+ private String csvFilePath = "movies.csv";
+ private int totalReviews = 0;
+ private int totalProducts = 0;
+ private int totalUsers = 0;
+ private HashMap userIDMap = new HashMap();
+ private HashMap productIDMap = new HashMap();
+ private HashMap inverseProductIDMap = new HashMap();
+ private DataModel model;
+ private UserSimilarity similarity;
+ private UserNeighborhood neighborhood;
+ private GenericUserBasedRecommender recommender;
+
+ public MovieRecommender(String path) throws IOException, TasteException {
+ this.originDataPath = path;
+ preparingData();
+ loadModel();
+ }
+
+ public int getTotalReviews() {
+ return this.totalReviews;
+ }
+
+ public int getTotalProducts() {
+ return this.totalProducts;
+ }
+
+ public int getTotalUsers() {
+ return this.totalUsers;
+ }
+
+ private void preparingData() throws IOException {
+ //Extracting data from .gz convert to .csv
+ InputStream file = new FileInputStream(this.originDataPath);
+ InputStream moviesGzStream = new GZIPInputStream(file);
+ Reader read = new InputStreamReader(moviesGzStream);
+ BufferedReader txtFile = new BufferedReader(read);
+ BufferedWriter csvFile = new BufferedWriter(new FileWriter(this.csvFilePath));
+
+ String product_ID = "";
+ String score = "";
+ String user_ID = "";
+
+ String line = txtFile.readLine();
+
+ while (line != null){
+
+ if (line.contains("product/productId:" ) || line.contains("review/userId:" ) || line.contains("review/score:" )){
+ String lineToWrite = line.split(" ")[1];
+ String caseLine = line.split(" ")[0];
+
+ switch (caseLine){
+ case "product/productId:":
+ product_ID = lineToWrite;
+ if (this.productIDMap.get(lineToWrite) == null) {
+ this.totalProducts++;
+ this.productIDMap.put(lineToWrite,this.totalProducts);
+ this.inverseProductIDMap.put(this.totalProducts, lineToWrite);
+ }
+ break;
+
+ case "review/userId:":
+ user_ID = lineToWrite;
+ if (this.userIDMap.get(lineToWrite) == null) {
+ this.totalUsers++;
+ this.userIDMap.put(lineToWrite, this.totalUsers);
+ }
+ break;
+
+ case "review/score:":
+ score = String.valueOf(lineToWrite.charAt(0));
+ this.totalReviews++;
+ break;
+ }
+ }
+
+ if (!product_ID.isEmpty() && !user_ID.isEmpty() && !score.isEmpty()) {
+
+ csvFile.write(this.userIDMap.get(user_ID) + "," + this.productIDMap.get(product_ID) + "," + score + "\n");
+
+ product_ID = "";
+ score = "";
+ user_ID = "";
+ }
+
+ line = txtFile.readLine();
+
+ }
+
+ txtFile.close();
+ csvFile.close();
+
+ }
+
+ private void loadModel() throws IOException, TasteException {
+ this.model = new FileDataModel(new File(this.csvFilePath));
+ this.similarity = new PearsonCorrelationSimilarity(this.model);
+ this.neighborhood = new ThresholdUserNeighborhood(0.1, this.similarity, this.model);
+ this.recommender = new GenericUserBasedRecommender(this.model, this.neighborhood, this.similarity);
+ }
+
+ public List getRecommendationsForUser(String userID) throws TasteException {
+
+ List recommended = new ArrayList<>() {};
+ List recommendations = this.recommender.recommend(this.userIDMap.get(userID), 3);
+
+ for (RecommendedItem recommendation : recommendations) {
+ recommended.add(this.inverseProductIDMap.get( (int) recommendation.getItemID()));
+ }
+
+ return recommended;
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/nearsoft/academy/bigdata/recommendation/MovieRecommenderTest.java b/src/test/java/nearsoft/academy/bigdata/recommendation/MovieRecommenderTest.java
index 0d0b1fe..8ebbdfc 100644
--- a/src/test/java/nearsoft/academy/bigdata/recommendation/MovieRecommenderTest.java
+++ b/src/test/java/nearsoft/academy/bigdata/recommendation/MovieRecommenderTest.java
@@ -15,7 +15,7 @@ public class MovieRecommenderTest {
public void testDataInfo() throws IOException, TasteException {
//download movies.txt.gz from
// http://snap.stanford.edu/data/web-Movies.html
- MovieRecommender recommender = new MovieRecommender("/path/to/movies.txt.gz");
+ MovieRecommender recommender = new MovieRecommender("/Users/diegogochez/Documents/ResourcesFiles/movies.txt.gz");
assertEquals(7911684, recommender.getTotalReviews());
assertEquals(253059, recommender.getTotalProducts());
assertEquals(889176, recommender.getTotalUsers());
diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644
index 0000000..e69de29
diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000..2d6632e
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/diegogochez/Documents/GitHub/academy-exercises/src/test/java/nearsoft/academy/bigdata/recommendation/MovieRecommender.java
+/Users/diegogochez/Documents/GitHub/academy-exercises/src/test/java/nearsoft/academy/bigdata/recommendation/MovieRecommenderTest.java
diff --git a/target/test-classes/nearsoft/academy/bigdata/recommendation/MovieRecommender$1.class b/target/test-classes/nearsoft/academy/bigdata/recommendation/MovieRecommender$1.class
new file mode 100644
index 0000000..7970d79
Binary files /dev/null and b/target/test-classes/nearsoft/academy/bigdata/recommendation/MovieRecommender$1.class differ
diff --git a/target/test-classes/nearsoft/academy/bigdata/recommendation/MovieRecommender.class b/target/test-classes/nearsoft/academy/bigdata/recommendation/MovieRecommender.class
new file mode 100644
index 0000000..08f4198
Binary files /dev/null and b/target/test-classes/nearsoft/academy/bigdata/recommendation/MovieRecommender.class differ
diff --git a/target/test-classes/nearsoft/academy/bigdata/recommendation/MovieRecommenderTest.class b/target/test-classes/nearsoft/academy/bigdata/recommendation/MovieRecommenderTest.class
new file mode 100644
index 0000000..fe75c0e
Binary files /dev/null and b/target/test-classes/nearsoft/academy/bigdata/recommendation/MovieRecommenderTest.class differ