├── .gitignore
├── LICENSE
├── README.md
├── example
├── .idea
│ ├── .name
│ ├── dbnavigator.xml
│ ├── libraries
│ │ ├── SBT__aopalliance_aopalliance_1_0_jar.xml
│ │ ├── SBT__com_clearspring_analytics_stream_2_7_0_jar.xml
│ │ ├── SBT__com_esotericsoftware_kryo_shaded_3_0_3_jar.xml
│ │ ├── SBT__com_esotericsoftware_minlog_1_3_0_jar.xml
│ │ ├── SBT__com_fasterxml_jackson_core_jackson_annotations_2_6_5_jar.xml
│ │ ├── SBT__com_fasterxml_jackson_core_jackson_core_2_6_5_jar.xml
│ │ ├── SBT__com_fasterxml_jackson_core_jackson_databind_2_6_5_jar.xml
│ │ ├── SBT__com_fasterxml_jackson_module_jackson_module_paranamer_2_6_5_jar.xml
│ │ ├── SBT__com_fasterxml_jackson_module_jackson_module_scala_2_11_2_6_5_jar.xml
│ │ ├── SBT__com_google_code_findbugs_jsr305_1_3_9_jar.xml
│ │ ├── SBT__com_google_guava_guava_14_0_1_jar.xml
│ │ ├── SBT__com_google_inject_guice_3_0_jar.xml
│ │ ├── SBT__com_google_protobuf_protobuf_java_2_5_0_jar.xml
│ │ ├── SBT__com_ning_compress_lzf_1_0_3_jar.xml
│ │ ├── SBT__com_thoughtworks_paranamer_paranamer_2_6_jar.xml
│ │ ├── SBT__com_twitter_chill_2_11_0_8_0_jar.xml
│ │ ├── SBT__com_twitter_chill_java_0_8_0_jar.xml
│ │ ├── SBT__com_univocity_univocity_parsers_2_1_1_jar.xml
│ │ ├── SBT__commons_beanutils_commons_beanutils_1_7_0_jar.xml
│ │ ├── SBT__commons_beanutils_commons_beanutils_core_1_8_0_jar.xml
│ │ ├── SBT__commons_cli_commons_cli_1_2_jar.xml
│ │ ├── SBT__commons_codec_commons_codec_1_10_jar.xml
│ │ ├── SBT__commons_collections_commons_collections_3_2_1_jar.xml
│ │ ├── SBT__commons_configuration_commons_configuration_1_6_jar.xml
│ │ ├── SBT__commons_digester_commons_digester_1_8_jar.xml
│ │ ├── SBT__commons_httpclient_commons_httpclient_3_1_jar.xml
│ │ ├── SBT__commons_io_commons_io_2_1_jar.xml
│ │ ├── SBT__commons_lang_commons_lang_2_5_jar.xml
│ │ ├── SBT__commons_net_commons_net_2_2_jar.xml
│ │ ├── SBT__io_dropwizard_metrics_metrics_core_3_1_2_jar.xml
│ │ ├── SBT__io_dropwizard_metrics_metrics_graphite_3_1_2_jar.xml
│ │ ├── SBT__io_dropwizard_metrics_metrics_json_3_1_2_jar.xml
│ │ ├── SBT__io_dropwizard_metrics_metrics_jvm_3_1_2_jar.xml
│ │ ├── SBT__io_netty_netty_3_8_0_Final_jar.xml
│ │ ├── SBT__io_netty_netty_all_4_0_29_Final_jar.xml
│ │ ├── SBT__javax_annotation_javax_annotation_api_1_2_jar.xml
│ │ ├── SBT__javax_inject_javax_inject_1_jar.xml
│ │ ├── SBT__javax_servlet_javax_servlet_api_3_1_0_jar.xml
│ │ ├── SBT__javax_validation_validation_api_1_1_0_Final_jar.xml
│ │ ├── SBT__javax_ws_rs_javax_ws_rs_api_2_0_1_jar.xml
│ │ ├── SBT__junit_junit_4_10_jar.xml
│ │ ├── SBT__log4j_log4j_1_2_17_jar.xml
│ │ ├── SBT__net_java_dev_jets3t_jets3t_0_7_1_jar.xml
│ │ ├── SBT__net_jpountz_lz4_lz4_1_3_0_jar.xml
│ │ ├── SBT__net_razorvine_pyrolite_4_9_jar.xml
│ │ ├── SBT__net_sf_py4j_py4j_0_10_1_jar.xml
│ │ ├── SBT__org_antlr_antlr4_runtime_4_5_3_jar.xml
│ │ ├── SBT__org_apache_avro_avro_1_7_7_jar.xml
│ │ ├── SBT__org_apache_avro_avro_ipc_1_7_7_jar.xml
│ │ ├── SBT__org_apache_avro_avro_ipc_1_7_7_tests_jar.xml
│ │ ├── SBT__org_apache_avro_avro_mapred_1_7_7_hadoop2_jar.xml
│ │ ├── SBT__org_apache_commons_commons_compress_1_4_1_jar.xml
│ │ ├── SBT__org_apache_commons_commons_lang3_3_3_2_jar.xml
│ │ ├── SBT__org_apache_commons_commons_math3_3_4_1_jar.xml
│ │ ├── SBT__org_apache_commons_commons_math_2_1_jar.xml
│ │ ├── SBT__org_apache_curator_curator_client_2_4_0_jar.xml
│ │ ├── SBT__org_apache_curator_curator_framework_2_4_0_jar.xml
│ │ ├── SBT__org_apache_curator_curator_recipes_2_4_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_annotations_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_auth_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_client_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_common_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_hdfs_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_mapreduce_client_app_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_mapreduce_client_common_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_mapreduce_client_core_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_mapreduce_client_jobclient_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_mapreduce_client_shuffle_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_yarn_api_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_yarn_client_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_yarn_common_2_2_0_jar.xml
│ │ ├── SBT__org_apache_hadoop_hadoop_yarn_server_common_2_2_0_jar.xml
│ │ ├── SBT__org_apache_ivy_ivy_2_4_0_jar.xml
│ │ ├── SBT__org_apache_mesos_mesos_0_21_1_shaded_protobuf_jar.xml
│ │ ├── SBT__org_apache_parquet_parquet_column_1_7_0_jar.xml
│ │ ├── SBT__org_apache_parquet_parquet_common_1_7_0_jar.xml
│ │ ├── SBT__org_apache_parquet_parquet_encoding_1_7_0_jar.xml
│ │ ├── SBT__org_apache_parquet_parquet_format_2_3_0_incubating_jar.xml
│ │ ├── SBT__org_apache_parquet_parquet_generator_1_7_0_jar.xml
│ │ ├── SBT__org_apache_parquet_parquet_hadoop_1_7_0_jar.xml
│ │ ├── SBT__org_apache_parquet_parquet_jackson_1_7_0_jar.xml
│ │ ├── SBT__org_apache_spark_spark_catalyst_2_11_2_0_0_jar.xml
│ │ ├── SBT__org_apache_spark_spark_core_2_11_2_0_0_jar.xml
│ │ ├── SBT__org_apache_spark_spark_launcher_2_11_2_0_0_jar.xml
│ │ ├── SBT__org_apache_spark_spark_network_common_2_11_2_0_0_jar.xml
│ │ ├── SBT__org_apache_spark_spark_network_shuffle_2_11_2_0_0_jar.xml
│ │ ├── SBT__org_apache_spark_spark_sketch_2_11_2_0_0_jar.xml
│ │ ├── SBT__org_apache_spark_spark_sql_2_11_2_0_0_jar.xml
│ │ ├── SBT__org_apache_spark_spark_tags_2_11_2_0_0_jar.xml
│ │ ├── SBT__org_apache_spark_spark_unsafe_2_11_2_0_0_jar.xml
│ │ ├── SBT__org_apache_xbean_xbean_asm5_shaded_4_4_jar.xml
│ │ ├── SBT__org_apache_zookeeper_zookeeper_3_4_5_jar.xml
│ │ ├── SBT__org_codehaus_jackson_jackson_core_asl_1_9_13_jar.xml
│ │ ├── SBT__org_codehaus_jackson_jackson_mapper_asl_1_9_13_jar.xml
│ │ ├── SBT__org_codehaus_janino_commons_compiler_2_7_8_jar.xml
│ │ ├── SBT__org_codehaus_janino_janino_2_7_8_jar.xml
│ │ ├── SBT__org_fusesource_leveldbjni_leveldbjni_all_1_8_jar.xml
│ │ ├── SBT__org_glassfish_hk2_external_aopalliance_repackaged_2_4_0_b34_jar.xml
│ │ ├── SBT__org_glassfish_hk2_external_javax_inject_2_4_0_b34_jar.xml
│ │ ├── SBT__org_glassfish_hk2_hk2_api_2_4_0_b34_jar.xml
│ │ ├── SBT__org_glassfish_hk2_hk2_locator_2_4_0_b34_jar.xml
│ │ ├── SBT__org_glassfish_hk2_hk2_utils_2_4_0_b34_jar.xml
│ │ ├── SBT__org_glassfish_hk2_osgi_resource_locator_1_0_1_jar.xml
│ │ ├── SBT__org_glassfish_jersey_bundles_repackaged_jersey_guava_2_22_2_jar.xml
│ │ ├── SBT__org_glassfish_jersey_containers_jersey_container_servlet_2_22_2_jar.xml
│ │ ├── SBT__org_glassfish_jersey_containers_jersey_container_servlet_core_2_22_2_jar.xml
│ │ ├── SBT__org_glassfish_jersey_core_jersey_client_2_22_2_jar.xml
│ │ ├── SBT__org_glassfish_jersey_core_jersey_common_2_22_2_jar.xml
│ │ ├── SBT__org_glassfish_jersey_core_jersey_server_2_22_2_jar.xml
│ │ ├── SBT__org_glassfish_jersey_media_jersey_media_jaxb_2_22_2_jar.xml
│ │ ├── SBT__org_hamcrest_hamcrest_core_1_1_jar.xml
│ │ ├── SBT__org_javassist_javassist_3_18_1_GA_jar.xml
│ │ ├── SBT__org_json4s_json4s_ast_2_11_3_2_11_jar.xml
│ │ ├── SBT__org_json4s_json4s_core_2_11_3_2_11_jar.xml
│ │ ├── SBT__org_json4s_json4s_jackson_2_11_3_2_11_jar.xml
│ │ ├── SBT__org_mortbay_jetty_jetty_util_6_1_26_jar.xml
│ │ ├── SBT__org_objenesis_objenesis_2_1_jar.xml
│ │ ├── SBT__org_roaringbitmap_RoaringBitmap_0_5_11_jar.xml
│ │ ├── SBT__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_1_jar.xml
│ │ ├── SBT__org_scala_lang_modules_scala_xml_2_11_1_0_2_jar.xml
│ │ ├── SBT__org_scala_lang_scala_compiler_2_11_0_jar.xml
│ │ ├── SBT__org_scala_lang_scala_library_2_11_8_jar.xml
│ │ ├── SBT__org_scala_lang_scala_reflect_2_11_8_jar.xml
│ │ ├── SBT__org_scala_lang_scalap_2_11_0_jar.xml
│ │ ├── SBT__org_scalatest_scalatest_2_11_2_2_6_jar.xml
│ │ ├── SBT__org_slf4j_jcl_over_slf4j_1_7_16_jar.xml
│ │ ├── SBT__org_slf4j_jul_to_slf4j_1_7_16_jar.xml
│ │ ├── SBT__org_slf4j_slf4j_api_1_7_16_jar.xml
│ │ ├── SBT__org_slf4j_slf4j_log4j12_1_7_16_jar.xml
│ │ ├── SBT__org_sonatype_sisu_inject_cglib_2_2_1_v20090111_jar.xml
│ │ ├── SBT__org_spark_project_spark_unused_1_0_0_jar.xml
│ │ ├── SBT__org_tukaani_xz_1_0_jar.xml
│ │ ├── SBT__org_xerial_snappy_snappy_java_1_1_2_4_jar.xml
│ │ ├── SBT__oro_oro_2_0_8_jar.xml
│ │ └── SBT__xmlenc_xmlenc_0_52_jar.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── modules
│ │ ├── root-build.iml
│ │ └── root.iml
│ ├── sbt.xml
│ ├── scala_compiler.xml
│ └── workspace.xml
├── README.md
├── assignment.sbt
├── build.sbt
├── project
│ ├── CommonBuild.scala
│ ├── GradingFeedback.scala
│ ├── ScalaTestRunner.scala
│ ├── Settings.scala
│ ├── StudentBuild.scala
│ ├── StudentBuildLike.scala
│ ├── StyleChecker.scala
│ ├── build.properties
│ ├── buildSettings.sbt
│ └── plugins.sbt
└── src
│ ├── main
│ └── scala
│ │ ├── Main.scala
│ │ └── example
│ │ └── Lists.scala
│ └── test
│ └── scala
│ └── example
│ └── ListsSuite.scala
├── stackoverflow
├── assignment.sbt
├── build.sbt
├── project
│ ├── CommonBuild.scala
│ ├── GradingFeedback.scala
│ ├── ScalaTestRunner.scala
│ ├── Settings.scala
│ ├── StudentBuild.scala
│ ├── StudentBuildLike.scala
│ ├── StyleChecker.scala
│ ├── build.properties
│ ├── buildSettings.sbt
│ └── plugins.sbt
└── src
│ ├── main
│ └── scala
│ │ └── stackoverflow
│ │ └── StackOverflow.scala
│ └── test
│ └── scala
│ └── stackoverflow
│ └── StackOverflowSuite.scala
└── wikipedia
├── .idea
├── .name
├── dbnavigator.xml
├── libraries
│ ├── SBT__aopalliance_aopalliance_1_0_jar.xml
│ ├── SBT__com_clearspring_analytics_stream_2_7_0_jar.xml
│ ├── SBT__com_esotericsoftware_kryo_shaded_3_0_3_jar.xml
│ ├── SBT__com_esotericsoftware_minlog_1_3_0_jar.xml
│ ├── SBT__com_fasterxml_jackson_core_jackson_annotations_2_6_5_jar.xml
│ ├── SBT__com_fasterxml_jackson_core_jackson_core_2_6_5_jar.xml
│ ├── SBT__com_fasterxml_jackson_core_jackson_databind_2_6_5_jar.xml
│ ├── SBT__com_fasterxml_jackson_module_jackson_module_paranamer_2_6_5_jar.xml
│ ├── SBT__com_fasterxml_jackson_module_jackson_module_scala_2_11_2_6_5_jar.xml
│ ├── SBT__com_google_code_findbugs_jsr305_1_3_9_jar.xml
│ ├── SBT__com_google_guava_guava_14_0_1_jar.xml
│ ├── SBT__com_google_inject_guice_3_0_jar.xml
│ ├── SBT__com_google_protobuf_protobuf_java_2_5_0_jar.xml
│ ├── SBT__com_ning_compress_lzf_1_0_3_jar.xml
│ ├── SBT__com_thoughtworks_paranamer_paranamer_2_6_jar.xml
│ ├── SBT__com_twitter_chill_2_11_0_8_0_jar.xml
│ ├── SBT__com_twitter_chill_java_0_8_0_jar.xml
│ ├── SBT__commons_beanutils_commons_beanutils_1_7_0_jar.xml
│ ├── SBT__commons_beanutils_commons_beanutils_core_1_8_0_jar.xml
│ ├── SBT__commons_cli_commons_cli_1_2_jar.xml
│ ├── SBT__commons_codec_commons_codec_1_4_jar.xml
│ ├── SBT__commons_collections_commons_collections_3_2_1_jar.xml
│ ├── SBT__commons_configuration_commons_configuration_1_6_jar.xml
│ ├── SBT__commons_digester_commons_digester_1_8_jar.xml
│ ├── SBT__commons_httpclient_commons_httpclient_3_1_jar.xml
│ ├── SBT__commons_io_commons_io_2_1_jar.xml
│ ├── SBT__commons_lang_commons_lang_2_5_jar.xml
│ ├── SBT__commons_net_commons_net_2_2_jar.xml
│ ├── SBT__io_dropwizard_metrics_metrics_core_3_1_2_jar.xml
│ ├── SBT__io_dropwizard_metrics_metrics_graphite_3_1_2_jar.xml
│ ├── SBT__io_dropwizard_metrics_metrics_json_3_1_2_jar.xml
│ ├── SBT__io_dropwizard_metrics_metrics_jvm_3_1_2_jar.xml
│ ├── SBT__io_netty_netty_3_8_0_Final_jar.xml
│ ├── SBT__io_netty_netty_all_4_0_29_Final_jar.xml
│ ├── SBT__javax_annotation_javax_annotation_api_1_2_jar.xml
│ ├── SBT__javax_inject_javax_inject_1_jar.xml
│ ├── SBT__javax_servlet_javax_servlet_api_3_1_0_jar.xml
│ ├── SBT__javax_validation_validation_api_1_1_0_Final_jar.xml
│ ├── SBT__javax_ws_rs_javax_ws_rs_api_2_0_1_jar.xml
│ ├── SBT__junit_junit_4_10_jar.xml
│ ├── SBT__log4j_log4j_1_2_17_jar.xml
│ ├── SBT__net_java_dev_jets3t_jets3t_0_7_1_jar.xml
│ ├── SBT__net_jpountz_lz4_lz4_1_3_0_jar.xml
│ ├── SBT__net_razorvine_pyrolite_4_9_jar.xml
│ ├── SBT__net_sf_py4j_py4j_0_10_1_jar.xml
│ ├── SBT__org_apache_avro_avro_1_7_7_jar.xml
│ ├── SBT__org_apache_avro_avro_ipc_1_7_7_jar.xml
│ ├── SBT__org_apache_avro_avro_ipc_1_7_7_tests_jar.xml
│ ├── SBT__org_apache_avro_avro_mapred_1_7_7_hadoop2_jar.xml
│ ├── SBT__org_apache_commons_commons_compress_1_4_1_jar.xml
│ ├── SBT__org_apache_commons_commons_lang3_3_3_2_jar.xml
│ ├── SBT__org_apache_commons_commons_math3_3_4_1_jar.xml
│ ├── SBT__org_apache_commons_commons_math_2_1_jar.xml
│ ├── SBT__org_apache_curator_curator_client_2_4_0_jar.xml
│ ├── SBT__org_apache_curator_curator_framework_2_4_0_jar.xml
│ ├── SBT__org_apache_curator_curator_recipes_2_4_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_annotations_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_auth_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_client_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_common_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_hdfs_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_mapreduce_client_app_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_mapreduce_client_common_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_mapreduce_client_core_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_mapreduce_client_jobclient_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_mapreduce_client_shuffle_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_yarn_api_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_yarn_client_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_yarn_common_2_2_0_jar.xml
│ ├── SBT__org_apache_hadoop_hadoop_yarn_server_common_2_2_0_jar.xml
│ ├── SBT__org_apache_ivy_ivy_2_4_0_jar.xml
│ ├── SBT__org_apache_mesos_mesos_0_21_1_shaded_protobuf_jar.xml
│ ├── SBT__org_apache_spark_spark_core_2_11_2_0_0_jar.xml
│ ├── SBT__org_apache_spark_spark_launcher_2_11_2_0_0_jar.xml
│ ├── SBT__org_apache_spark_spark_network_common_2_11_2_0_0_jar.xml
│ ├── SBT__org_apache_spark_spark_network_shuffle_2_11_2_0_0_jar.xml
│ ├── SBT__org_apache_spark_spark_tags_2_11_2_0_0_jar.xml
│ ├── SBT__org_apache_spark_spark_unsafe_2_11_2_0_0_jar.xml
│ ├── SBT__org_apache_xbean_xbean_asm5_shaded_4_4_jar.xml
│ ├── SBT__org_apache_zookeeper_zookeeper_3_4_5_jar.xml
│ ├── SBT__org_codehaus_jackson_jackson_core_asl_1_9_13_jar.xml
│ ├── SBT__org_codehaus_jackson_jackson_mapper_asl_1_9_13_jar.xml
│ ├── SBT__org_fusesource_leveldbjni_leveldbjni_all_1_8_jar.xml
│ ├── SBT__org_glassfish_hk2_external_aopalliance_repackaged_2_4_0_b34_jar.xml
│ ├── SBT__org_glassfish_hk2_external_javax_inject_2_4_0_b34_jar.xml
│ ├── SBT__org_glassfish_hk2_hk2_api_2_4_0_b34_jar.xml
│ ├── SBT__org_glassfish_hk2_hk2_locator_2_4_0_b34_jar.xml
│ ├── SBT__org_glassfish_hk2_hk2_utils_2_4_0_b34_jar.xml
│ ├── SBT__org_glassfish_hk2_osgi_resource_locator_1_0_1_jar.xml
│ ├── SBT__org_glassfish_jersey_bundles_repackaged_jersey_guava_2_22_2_jar.xml
│ ├── SBT__org_glassfish_jersey_containers_jersey_container_servlet_2_22_2_jar.xml
│ ├── SBT__org_glassfish_jersey_containers_jersey_container_servlet_core_2_22_2_jar.xml
│ ├── SBT__org_glassfish_jersey_core_jersey_client_2_22_2_jar.xml
│ ├── SBT__org_glassfish_jersey_core_jersey_common_2_22_2_jar.xml
│ ├── SBT__org_glassfish_jersey_core_jersey_server_2_22_2_jar.xml
│ ├── SBT__org_glassfish_jersey_media_jersey_media_jaxb_2_22_2_jar.xml
│ ├── SBT__org_hamcrest_hamcrest_core_1_1_jar.xml
│ ├── SBT__org_javassist_javassist_3_18_1_GA_jar.xml
│ ├── SBT__org_json4s_json4s_ast_2_11_3_2_11_jar.xml
│ ├── SBT__org_json4s_json4s_core_2_11_3_2_11_jar.xml
│ ├── SBT__org_json4s_json4s_jackson_2_11_3_2_11_jar.xml
│ ├── SBT__org_mortbay_jetty_jetty_util_6_1_26_jar.xml
│ ├── SBT__org_objenesis_objenesis_2_1_jar.xml
│ ├── SBT__org_roaringbitmap_RoaringBitmap_0_5_11_jar.xml
│ ├── SBT__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_1_jar.xml
│ ├── SBT__org_scala_lang_modules_scala_xml_2_11_1_0_2_jar.xml
│ ├── SBT__org_scala_lang_scala_compiler_2_11_0_jar.xml
│ ├── SBT__org_scala_lang_scala_library_2_11_8_jar.xml
│ ├── SBT__org_scala_lang_scala_reflect_2_11_7_jar.xml
│ ├── SBT__org_scala_lang_scalap_2_11_0_jar.xml
│ ├── SBT__org_scalatest_scalatest_2_11_2_2_6_jar.xml
│ ├── SBT__org_slf4j_jcl_over_slf4j_1_7_16_jar.xml
│ ├── SBT__org_slf4j_jul_to_slf4j_1_7_16_jar.xml
│ ├── SBT__org_slf4j_slf4j_api_1_7_16_jar.xml
│ ├── SBT__org_slf4j_slf4j_log4j12_1_7_16_jar.xml
│ ├── SBT__org_sonatype_sisu_inject_cglib_2_2_1_v20090111_jar.xml
│ ├── SBT__org_spark_project_spark_unused_1_0_0_jar.xml
│ ├── SBT__org_tukaani_xz_1_0_jar.xml
│ ├── SBT__org_xerial_snappy_snappy_java_1_1_2_4_jar.xml
│ ├── SBT__oro_oro_2_0_8_jar.xml
│ └── SBT__xmlenc_xmlenc_0_52_jar.xml
├── misc.xml
├── modules.xml
├── modules
│ ├── root-build.iml
│ └── root.iml
├── sbt.xml
├── scala_compiler.xml
└── workspace.xml
├── assignment.sbt
├── build.sbt
├── project
├── CommonBuild.scala
├── GradingFeedback.scala
├── ScalaTestRunner.scala
├── Settings.scala
├── StudentBuild.scala
├── StudentBuildLike.scala
├── StyleChecker.scala
├── build.properties
├── buildSettings.sbt
└── plugins.sbt
└── src
├── main
└── scala
│ └── wikipedia
│ ├── WikipediaData.scala
│ └── WikipediaRanking.scala
└── test
└── scala
└── wikipedia
└── WikipediaSuite.scala
/.gitignore:
--------------------------------------------------------------------------------
1 | *.class
2 | *.log
3 | *.csv
4 |
5 | # sbt specific
6 | .cache
7 | .history
8 | .lib/
9 | dist/*
10 | target/
11 | lib_managed/
12 | src_managed/
13 | project/boot/
14 | project/plugins/project/
15 |
16 | # Scala-IDE specific
17 | .scala_dependencies
18 | .worksheet
19 | *.dat
20 |
21 | .idea/
22 | *.xml
23 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Amir Ziai
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # big-data-scala-spark
2 | 1. Wikipedia
3 | 2. Stackoverflow
4 | 3. Coming soon
5 |
--------------------------------------------------------------------------------
/example/.idea/.name:
--------------------------------------------------------------------------------
1 | bigdata-example
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__aopalliance_aopalliance_1_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_clearspring_analytics_stream_2_7_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_esotericsoftware_kryo_shaded_3_0_3_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_esotericsoftware_minlog_1_3_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_fasterxml_jackson_core_jackson_annotations_2_6_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_fasterxml_jackson_core_jackson_core_2_6_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_fasterxml_jackson_core_jackson_databind_2_6_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_fasterxml_jackson_module_jackson_module_paranamer_2_6_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_fasterxml_jackson_module_jackson_module_scala_2_11_2_6_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_google_code_findbugs_jsr305_1_3_9_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_google_guava_guava_14_0_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_google_inject_guice_3_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_google_protobuf_protobuf_java_2_5_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_ning_compress_lzf_1_0_3_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_thoughtworks_paranamer_paranamer_2_6_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_twitter_chill_2_11_0_8_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_twitter_chill_java_0_8_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__com_univocity_univocity_parsers_2_1_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_beanutils_commons_beanutils_1_7_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_beanutils_commons_beanutils_core_1_8_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_cli_commons_cli_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_codec_commons_codec_1_10_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_collections_commons_collections_3_2_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_configuration_commons_configuration_1_6_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_digester_commons_digester_1_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_httpclient_commons_httpclient_3_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_io_commons_io_2_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_lang_commons_lang_2_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__commons_net_commons_net_2_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__io_dropwizard_metrics_metrics_core_3_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__io_dropwizard_metrics_metrics_graphite_3_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__io_dropwizard_metrics_metrics_json_3_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__io_dropwizard_metrics_metrics_jvm_3_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__io_netty_netty_3_8_0_Final_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__io_netty_netty_all_4_0_29_Final_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__javax_annotation_javax_annotation_api_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__javax_inject_javax_inject_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__javax_servlet_javax_servlet_api_3_1_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__javax_validation_validation_api_1_1_0_Final_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__javax_ws_rs_javax_ws_rs_api_2_0_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__junit_junit_4_10_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__log4j_log4j_1_2_17_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__net_java_dev_jets3t_jets3t_0_7_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__net_jpountz_lz4_lz4_1_3_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__net_razorvine_pyrolite_4_9_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__net_sf_py4j_py4j_0_10_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_antlr_antlr4_runtime_4_5_3_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_avro_avro_1_7_7_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_avro_avro_ipc_1_7_7_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_avro_avro_ipc_1_7_7_tests_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_avro_avro_mapred_1_7_7_hadoop2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_commons_commons_compress_1_4_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_commons_commons_lang3_3_3_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_commons_commons_math3_3_4_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_commons_commons_math_2_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_curator_curator_client_2_4_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_curator_curator_framework_2_4_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_curator_curator_recipes_2_4_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_annotations_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_auth_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_client_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_common_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_hdfs_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_mapreduce_client_app_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_mapreduce_client_common_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_mapreduce_client_core_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_mapreduce_client_jobclient_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_mapreduce_client_shuffle_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_yarn_api_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_yarn_client_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_yarn_common_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_hadoop_hadoop_yarn_server_common_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_ivy_ivy_2_4_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_mesos_mesos_0_21_1_shaded_protobuf_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_parquet_parquet_column_1_7_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_parquet_parquet_common_1_7_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_parquet_parquet_encoding_1_7_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_parquet_parquet_format_2_3_0_incubating_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_parquet_parquet_generator_1_7_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_parquet_parquet_hadoop_1_7_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_parquet_parquet_jackson_1_7_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_spark_spark_catalyst_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_spark_spark_core_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_spark_spark_launcher_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_spark_spark_network_common_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_spark_spark_network_shuffle_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_spark_spark_sketch_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_spark_spark_sql_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_spark_spark_tags_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_spark_spark_unsafe_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_xbean_xbean_asm5_shaded_4_4_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_apache_zookeeper_zookeeper_3_4_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_codehaus_jackson_jackson_core_asl_1_9_13_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_codehaus_jackson_jackson_mapper_asl_1_9_13_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_codehaus_janino_commons_compiler_2_7_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_codehaus_janino_janino_2_7_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_fusesource_leveldbjni_leveldbjni_all_1_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_hk2_external_aopalliance_repackaged_2_4_0_b34_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_hk2_external_javax_inject_2_4_0_b34_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_hk2_hk2_api_2_4_0_b34_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_hk2_hk2_locator_2_4_0_b34_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_hk2_hk2_utils_2_4_0_b34_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_hk2_osgi_resource_locator_1_0_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_jersey_bundles_repackaged_jersey_guava_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_jersey_containers_jersey_container_servlet_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_jersey_containers_jersey_container_servlet_core_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_jersey_core_jersey_client_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_jersey_core_jersey_common_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_jersey_core_jersey_server_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_glassfish_jersey_media_jersey_media_jaxb_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_hamcrest_hamcrest_core_1_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_javassist_javassist_3_18_1_GA_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_json4s_json4s_ast_2_11_3_2_11_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_json4s_json4s_core_2_11_3_2_11_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_json4s_json4s_jackson_2_11_3_2_11_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_mortbay_jetty_jetty_util_6_1_26_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_objenesis_objenesis_2_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_roaringbitmap_RoaringBitmap_0_5_11_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_scala_lang_modules_scala_xml_2_11_1_0_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_scala_lang_scala_compiler_2_11_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_scala_lang_scala_library_2_11_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_scala_lang_scala_reflect_2_11_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_scala_lang_scalap_2_11_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_scalatest_scalatest_2_11_2_2_6_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_slf4j_jcl_over_slf4j_1_7_16_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_slf4j_jul_to_slf4j_1_7_16_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_slf4j_slf4j_api_1_7_16_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_slf4j_slf4j_log4j12_1_7_16_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_sonatype_sisu_inject_cglib_2_2_1_v20090111_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_spark_project_spark_unused_1_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_tukaani_xz_1_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__org_xerial_snappy_snappy_java_1_1_2_4_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__oro_oro_2_0_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/.idea/libraries/SBT__xmlenc_xmlenc_0_52_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | 1.8
11 |
12 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/example/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/.idea/sbt.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/example/.idea/scala_compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | # scala and sbt warmup
2 |
--------------------------------------------------------------------------------
/example/assignment.sbt:
--------------------------------------------------------------------------------
1 | course := "bigdata"
2 | assignment := "example"
3 |
--------------------------------------------------------------------------------
/example/build.sbt:
--------------------------------------------------------------------------------
1 | name := course.value + "-" + assignment.value
2 |
3 | scalaVersion := "2.11.8"
4 |
5 | scalacOptions ++= Seq("-deprecation")
6 |
7 | courseId := "e8VseYIYEeWxQQoymFg8zQ"
8 |
9 | resolvers += Resolver.sonatypeRepo("releases")
10 |
11 | // grading libraries
12 | libraryDependencies += "junit" % "junit" % "4.10" % "test"
13 | libraryDependencies ++= assignmentsMap.value.values.flatMap(_.dependencies).toSeq
14 |
15 | // include the common dir
16 | commonSourcePackages += "common"
17 |
18 | assignmentsMap := {
19 | val depsSpark = Seq(
20 | "org.apache.spark" %% "spark-core" % "2.0.0"
21 | )
22 | Map(
23 | "example" -> Assignment(
24 | packageName = "example",
25 | key = "9W3VuiJREeaFaw43_UrNUw",
26 | itemId = "I6L8m",
27 | partId = "vsJoj",
28 | maxScore = 10d,
29 | dependencies = Seq(),
30 | options = Map("Xmx"->"1540m", "grader-memory"->"2048")),
31 | "wikipedia" -> Assignment(
32 | packageName = "wikipedia",
33 | key = "EH8wby4kEeawURILfHIqjw",
34 | itemId = "QcWcs",
35 | partId = "5komc",
36 | maxScore = 10d,
37 | styleScoreRatio = 0.0,
38 | dependencies = depsSpark,
39 | options = Map("Xmx"->"1540m", "grader-memory"->"2048", "totalTimeout" -> "900", "grader-cpu" -> "2")),
40 | "stackoverflow" -> Assignment(
41 | packageName = "stackoverflow",
42 | key = "7ByAoS4kEea1yxIfJA1CUw",
43 | itemId = "FWGnz",
44 | partId = "OY5fJ",
45 | maxScore = 10d,
46 | styleScoreRatio = 0.0,
47 | dependencies = depsSpark,
48 | options = Map("Xmx"->"1540m", "grader-memory"->"2048", "totalTimeout" -> "900", "grader-cpu" -> "2")),
49 | "timeusage" -> Assignment(
50 | packageName = "timeusage",
51 | key = "mVk0fgQ0EeeGZQrYVAT1jg",
52 | itemId = "T19Ec",
53 | partId = "y8PO8CUSTOM",
54 | maxScore = 10d,
55 | styleScoreRatio = 0.0,
56 | dependencies = depsSpark :+ ("org.apache.spark" %% "spark-sql" % "2.0.0"),
57 | options = Map("Xmx"->"1540m", "grader-memory"->"2048", "totalTimeout" -> "900", "grader-cpu" -> "2"))
58 | )
59 | }
60 |
61 |
--------------------------------------------------------------------------------
/example/project/CommonBuild.scala:
--------------------------------------------------------------------------------
1 | import sbt._
2 |
3 | /**
4 | * @param packageName Used as the prefix for: (1) handout name, (2) the Scala package, (3) source folder.
5 | * @param key Per assignment key specified by coursera.
6 | * @param partId Identifies the part of the assignment. (We always have one-part assignments.)
7 | * @param maxScore Maximum score that can be given for the assignment. Must match the value in the WebAPI.
8 | * @param styleScoreRatio Defines the portion of the grade that is assigned to style.
9 | * @param dependencies Library dependencies specific to this module.
10 | * @param styleSheet Path to the scalastyle configuration for this assignment.
11 | * @param options Options passed to the java process or coursera infrastructure. Following values are
12 | * supported:
13 | *
14 | * NAME DEFAULT DESCRIPTION
15 | * Xms 10m -Xms for jvm
16 | * Xmx 256m -Xmx for jvm, should less than `grader-memory`
17 | * individualTimeout 240 time out of one test case
18 | * totalTimeout 850 total time out, should less than `grader-timeout`
19 | * grader-cpu 1 number of cpu for coursera infrastructure
20 | * grader-memory 1024 memory for coursera infrastructure
21 | * grader-timeout 1200 grading timeout for coursera infrastructure
22 | */
23 | case class Assignment(packageName: String,
24 | key: String,
25 | itemId: String,
26 | partId: String,
27 | maxScore: Double,
28 | styleScoreRatio: Double = 0.0d,
29 | styleSheet: String = "",
30 | dependencies: Seq[ModuleID] = Seq(),
31 | options: Map[String, String] = Map()) {
32 | assert(!(styleScoreRatio == 0.0d ^ styleSheet == ""), "Style sheet and style ratio should be defined in pair.")
33 | }
34 |
35 |
36 | trait CommonBuild extends Build {
37 |
38 | val course = SettingKey[String]("course")
39 |
40 | val assignment = SettingKey[String]("assignment")
41 |
42 | val assignmentsMap = SettingKey[Map[String, Assignment]]("assignmentsMap")
43 |
44 | val courseId = SettingKey[String]("courseId")
45 |
46 | val commonSourcePackages = SettingKey[Seq[String]]("commonSourcePackages")
47 |
48 | lazy val scalaTestDependency = "org.scalatest" %% "scalatest" % "2.2.4"
49 | }
50 |
--------------------------------------------------------------------------------
/example/project/Settings.scala:
--------------------------------------------------------------------------------
1 | object Settings {
2 | val maxSubmitFileSize = {
3 | val mb = 1024 * 1024
4 | 10 * mb
5 | }
6 |
7 | val testResultsFileName = "grading-results-log"
8 |
9 | // time in seconds that we give scalatest for running
10 | val scalaTestTimeout = 850 // coursera has a 15 minute timeout anyhow
11 | val individualTestTimeout = 240
12 |
13 | // default weight of each test in a GradingSuite, in case no weight is given
14 | val scalaTestDefaultWeight = 10
15 |
16 | // when students leave print statements in their code, they end up in the output of the
17 | // system process running ScalaTest (ScalaTestRunner.scala); we need some limits.
18 | val maxOutputLines = 10 * 1000
19 | val maxOutputLineLength = 1000
20 |
21 | val scalaTestReportFileProperty = "scalatest.reportFile"
22 | val scalaTestIndividualTestTimeoutProperty = "scalatest.individualTestTimeout"
23 | val scalaTestReadableFilesProperty = "scalatest.readableFiles"
24 | val scalaTestDefaultWeightProperty = "scalatest.defaultWeight"
25 | val scalaTestReporter = "ch.epfl.lamp.grading.GradingReporter"
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/example/project/StudentBuild.scala:
--------------------------------------------------------------------------------
1 | object StudentBuild extends StudentBuildLike
2 |
--------------------------------------------------------------------------------
/example/project/StyleChecker.scala:
--------------------------------------------------------------------------------
1 | import sbt.File
2 | import java.io.ByteArrayOutputStream
3 | import java.io.PrintStream
4 | import org.scalastyle._
5 | import com.typesafe.config.ConfigFactory
6 |
7 | object StyleChecker {
8 | val maxResult = 100
9 |
10 | class CustomTextOutput[T <: FileSpec](stream: PrintStream) extends Output[T] {
11 | private val messageHelper = new MessageHelper(ConfigFactory.load())
12 |
13 | var fileCount: Int = _
14 | override def message(m: Message[T]): Unit = m match {
15 | case StartWork() =>
16 | case EndWork() =>
17 | case StartFile(file) =>
18 | stream.print("Checking file " + file + "...")
19 | fileCount = 0
20 | case EndFile(file) =>
21 | if (fileCount == 0) stream.println(" OK!")
22 | case StyleError(file, clazz, key, level, args, line, column, customMessage) =>
23 | report(line, column, messageHelper.text(level.name),
24 | Output.findMessage(messageHelper, key, args, customMessage))
25 | case StyleException(file, clazz, message, stacktrace, line, column) =>
26 | report(line, column, "error", message)
27 | }
28 |
29 | private def report(line: Option[Int], column: Option[Int], level: String, message: String) {
30 | if (fileCount == 0) stream.println("")
31 | fileCount += 1
32 | stream.println(" " + fileCount + ". " + level + pos(line, column) + ":")
33 | stream.println(" " + message)
34 | }
35 |
36 | private def pos(line: Option[Int], column: Option[Int]): String = line match {
37 | case Some(lineNumber) => " at line " + lineNumber + (column match {
38 | case Some(columnNumber) => " character " + columnNumber
39 | case None => ""
40 | })
41 | case None => ""
42 | }
43 | }
44 |
45 | def score(outputResult: OutputResult) = {
46 | val penalties = outputResult.errors + outputResult.warnings
47 | scala.math.max(maxResult - penalties, 0)
48 | }
49 |
50 | def assess(sources: Seq[File], styleSheetPath: String): (String, Int) = {
51 | val configFile = new File(styleSheetPath).getAbsolutePath
52 |
53 | val messages = new ScalastyleChecker().checkFiles(
54 | ScalastyleConfiguration.readFromXml(configFile),
55 | Directory.getFiles(None, sources))
56 |
57 | val output = new ByteArrayOutputStream()
58 | val outputResult = new CustomTextOutput(new PrintStream(output)).output(messages)
59 |
60 | val msg = s"""${output.toString}
61 | |Processed ${outputResult.files} file(s)
62 | |Found ${outputResult.errors} errors
63 | |Found ${outputResult.warnings} warnings
64 | |""".stripMargin
65 |
66 | (msg, score(outputResult))
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/example/project/build.properties:
--------------------------------------------------------------------------------
1 | sbt.version=0.13.9
--------------------------------------------------------------------------------
/example/project/buildSettings.sbt:
--------------------------------------------------------------------------------
1 | // used for style-checking submissions
2 | libraryDependencies += "org.scalastyle" %% "scalastyle" % "0.8.0"
3 |
4 | // used for submitting the assignments to Coursera
5 | libraryDependencies += "org.scalaj" %% "scalaj-http" % "2.2.1"
6 |
7 | // used for base64 encoding
8 | libraryDependencies += "commons-codec" % "commons-codec" % "1.10"
9 |
10 | // used to escape json for the submission
11 | libraryDependencies += "org.apache.commons" % "commons-lang3" % "3.4"
12 |
--------------------------------------------------------------------------------
/example/project/plugins.sbt:
--------------------------------------------------------------------------------
1 | addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")
2 | addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.11")
3 |
--------------------------------------------------------------------------------
/example/src/main/scala/Main.scala:
--------------------------------------------------------------------------------
1 | import example.Lists
2 |
3 | /**
4 | * Created by amir.ziai on 3/11/17.
5 | */
6 | object Main extends App {
7 | println(Lists.max(List(1,3,2)))
8 | }
9 |
--------------------------------------------------------------------------------
/example/src/main/scala/example/Lists.scala:
--------------------------------------------------------------------------------
1 | package example
2 |
3 |
4 | object Lists {
5 |
6 | /**
7 | * This method computes the sum of all elements in the list xs. There are
8 | * multiple techniques that can be used for implementing this method, and
9 | * you will learn during the class.
10 | *
11 | * For this example assignment you can use the following methods in class
12 | * `List`:
13 | *
14 | * - `xs.isEmpty: Boolean` returns `true` if the list `xs` is empty
15 | * - `xs.head: Int` returns the head element of the list `xs`. If the list
16 | * is empty an exception is thrown
17 | * - `xs.tail: List[Int]` returns the tail of the list `xs`, i.e. the the
18 | * list `xs` without its `head` element
19 | *
20 | * ''Hint:'' instead of writing a `for` or `while` loop, think of a recursive
21 | * solution.
22 | *
23 | * @param xs A list of natural numbers
24 | * @return The sum of all elements in `xs`
25 | */
26 | def sum(xs: List[Int]): Int = xs.sum
27 |
28 | /**
29 | * This method returns the largest element in a list of integers. If the
30 | * list `xs` is empty it throws a `java.util.NoSuchElementException`.
31 | *
32 | * You can use the same methods of the class `List` as mentioned above.
33 | *
34 | * ''Hint:'' Again, think of a recursive solution instead of using looping
35 | * constructs. You might need to define an auxiliary method.
36 | *
37 | * @param xs A list of natural numbers
38 | * @return The largest element in `xs`
39 | * @throws java.util.NoSuchElementException if `xs` is an empty list
40 | */
41 | def max(xs: List[Int]): Int = if (xs.nonEmpty) xs.max else throw new NoSuchElementException("No element here")
42 | }
43 |
--------------------------------------------------------------------------------
/example/src/test/scala/example/ListsSuite.scala:
--------------------------------------------------------------------------------
1 | package example
2 |
3 | import org.scalatest.FunSuite
4 |
5 | import org.junit.runner.RunWith
6 | import org.scalatest.junit.JUnitRunner
7 |
8 | /**
9 | * This class implements a ScalaTest test suite for the methods in object
10 | * `Lists` that need to be implemented as part of this assignment. A test
11 | * suite is simply a collection of individual tests for some specific
12 | * component of a program.
13 | *
14 | * A test suite is created by defining a class which extends the type
15 | * `org.scalatest.FunSuite`. When running ScalaTest, it will automatically
16 | * find this class and execute all of its tests.
17 | *
18 | * Adding the `@RunWith` annotation enables the test suite to be executed
19 | * inside eclipse using the built-in JUnit test runner.
20 | *
21 | * You have two options for running this test suite:
22 | *
23 | * - Start the sbt console and run the "test" command
24 | * - Right-click this file in eclipse and chose "Run As" - "JUnit Test"
25 | */
26 | @RunWith(classOf[JUnitRunner])
27 | class ListsSuite extends FunSuite {
28 |
29 | /**
30 | * Tests are written using the `test` operator which takes two arguments:
31 | *
32 | * - A description of the test. This description has to be unique, no two
33 | * tests can have the same description.
34 | * - The test body, a piece of Scala code that implements the test
35 | *
36 | * The most common way to implement a test body is using the method `assert`
37 | * which tests that its argument evaluates to `true`. So one of the simplest
38 | * successful tests is the following:
39 | */
40 | test("one plus one is two")(assert(1 + 1 == 2))
41 |
42 |
43 | /**
44 | * In Scala, it is allowed to pass an argument to a method using the block
45 | * syntax, i.e. `{ argument }` instead of parentheses `(argument)`.
46 | *
47 | * This allows tests to be written in a more readable manner:
48 | */
49 | test("one plus one is three?") {
50 | assert(1 + 1 == 2) // This assertion fails! Go ahead and fix it.
51 | }
52 |
53 |
54 | /**
55 | * One problem with the previous (failing) test is that ScalaTest will
56 | * only tell you that a test failed, but it will not tell you what was
57 | * the reason for the failure. The output looks like this:
58 | *
59 | * {{{
60 | * [info] - one plus one is three? *** FAILED ***
61 | * }}}
62 | *
63 | * This situation can be improved by using a special equality operator
64 | * `===` instead of `==` (this is only possible in ScalaTest). So if you
65 | * run the next test, ScalaTest will show the following output:
66 | *
67 | * {{{
68 | * [info] - details why one plus one is not three *** FAILED ***
69 | * [info] 2 did not equal 3 (ListsSuite.scala:67)
70 | * }}}
71 | *
72 | * We recommend to always use the `===` equality operator when writing tests.
73 | */
74 | test("details why one plus one is not three") {
75 | assert(1 + 1 === 2) // Fix me, please!
76 | }
77 |
78 | /**
79 | * In order to test the exceptional behavior of a methods, ScalaTest offers
80 | * the `intercept` operation.
81 | *
82 | * In the following example, we test the fact that the method `intNotZero`
83 | * throws an `IllegalArgumentException` if its argument is `0`.
84 | */
85 | test("intNotZero throws an exception if its argument is 0") {
86 | intercept[IllegalArgumentException] {
87 | intNotZero(0)
88 | }
89 | }
90 |
91 | def intNotZero(x: Int): Int = {
92 | if (x == 0) throw new IllegalArgumentException("zero is not allowed")
93 | else x
94 | }
95 |
96 |
97 | /**
98 | * Now we finally write some tests for the list functions that have to be
99 | * implemented for this assignment. We fist import all members of the
100 | * `List` object.
101 | */
102 | import Lists._
103 |
104 |
105 | /**
106 | * We only provide two very basic tests for you. Write more tests to make
107 | * sure your `sum` and `max` methods work as expected.
108 | *
109 | * In particular, write tests for corner cases: negative numbers, zeros,
110 | * empty lists, lists with repeated elements, etc.
111 | *
112 | * It is allowed to have multiple `assert` statements inside one test,
113 | * however it is recommended to write an individual `test` statement for
114 | * every tested aspect of a method.
115 | */
116 | test("sum of a few numbers") {
117 | assert(sum(List(1,2,0)) === 3)
118 | }
119 |
120 | test("max of a few numbers") {
121 | assert(max(List(3, 7, 2)) === 7)
122 | }
123 |
124 |
125 |
126 | }
127 |
--------------------------------------------------------------------------------
/stackoverflow/assignment.sbt:
--------------------------------------------------------------------------------
1 | course := "bigdata"
2 | assignment := "stackoverflow"
3 |
--------------------------------------------------------------------------------
/stackoverflow/build.sbt:
--------------------------------------------------------------------------------
1 | name := course.value + "-" + assignment.value
2 |
3 | scalaVersion := "2.11.8"
4 |
5 | scalacOptions ++= Seq("-deprecation")
6 |
7 | courseId := "e8VseYIYEeWxQQoymFg8zQ"
8 |
9 | resolvers += Resolver.sonatypeRepo("releases")
10 |
11 | // grading libraries
12 | libraryDependencies += "junit" % "junit" % "4.10" % "test"
13 | libraryDependencies ++= assignmentsMap.value.values.flatMap(_.dependencies).toSeq
14 |
15 | // include the common dir
16 | commonSourcePackages += "common"
17 |
18 | assignmentsMap := {
19 | val depsSpark = Seq(
20 | "org.apache.spark" %% "spark-core" % "2.1.0"
21 | )
22 | Map(
23 | "example" -> Assignment(
24 | packageName = "example",
25 | key = "9W3VuiJREeaFaw43_UrNUw",
26 | itemId = "I6L8m",
27 | partId = "vsJoj",
28 | maxScore = 10d,
29 | dependencies = Seq(),
30 | options = Map("Xmx"->"1540m", "grader-memory"->"2048")),
31 | "wikipedia" -> Assignment(
32 | packageName = "wikipedia",
33 | key = "EH8wby4kEeawURILfHIqjw",
34 | itemId = "QcWcs",
35 | partId = "5komc",
36 | maxScore = 10d,
37 | styleScoreRatio = 0.0,
38 | dependencies = depsSpark,
39 | options = Map("Xmx"->"1540m", "grader-memory"->"2048", "totalTimeout" -> "900", "grader-cpu" -> "2")),
40 | "stackoverflow" -> Assignment(
41 | packageName = "stackoverflow",
42 | key = "7ByAoS4kEea1yxIfJA1CUw",
43 | itemId = "FWGnz",
44 | partId = "OY5fJ",
45 | maxScore = 10d,
46 | styleScoreRatio = 0.0,
47 | dependencies = depsSpark,
48 | options = Map("Xmx"->"1540m", "grader-memory"->"2048", "totalTimeout" -> "900", "grader-cpu" -> "2")),
49 | "timeusage" -> Assignment(
50 | packageName = "timeusage",
51 | key = "mVk0fgQ0EeeGZQrYVAT1jg",
52 | itemId = "T19Ec",
53 | partId = "y8PO8",
54 | maxScore = 10d,
55 | styleScoreRatio = 0.0,
56 | dependencies = depsSpark :+ ("org.apache.spark" %% "spark-sql" % "2.1.0"),
57 | options = Map("Xmx"->"1540m", "grader-memory"->"2048", "totalTimeout" -> "900", "grader-cpu" -> "2"))
58 | )
59 | }
60 |
61 |
--------------------------------------------------------------------------------
/stackoverflow/project/CommonBuild.scala:
--------------------------------------------------------------------------------
1 | import sbt._
2 |
3 | /**
4 | * @param packageName Used as the prefix for: (1) handout name, (2) the Scala package, (3) source folder.
5 | * @param key Per assignment key specified by coursera.
6 | * @param partId Identifies the part of the assignment. (We always have one-part assignments.)
7 | * @param maxScore Maximum score that can be given for the assignment. Must match the value in the WebAPI.
8 | * @param styleScoreRatio Defines the portion of the grade that is assigned to style.
9 | * @param dependencies Library dependencies specific to this module.
10 | * @param styleSheet Path to the scalastyle configuration for this assignment.
11 | * @param options Options passed to the java process or coursera infrastructure. Following values are
12 | * supported:
13 | *
14 | * NAME DEFAULT DESCRIPTION
15 | * Xms 10m -Xms for jvm
16 | * Xmx 256m -Xmx for jvm, should less than `grader-memory`
17 | * individualTimeout 240 time out of one test case
18 | * totalTimeout 850 total time out, should less than `grader-timeout`
19 | * grader-cpu 1 number of cpu for coursera infrastructure
20 | * grader-memory 1024 memory for coursera infrastructure
21 | * grader-timeout 1200 grading timeout for coursera infrastructure
22 | */
23 | case class Assignment(packageName: String,
24 | key: String,
25 | itemId: String,
26 | partId: String,
27 | maxScore: Double,
28 | styleScoreRatio: Double = 0.0d,
29 | styleSheet: String = "",
30 | dependencies: Seq[ModuleID] = Seq(),
31 | options: Map[String, String] = Map()) {
32 | assert(!(styleScoreRatio == 0.0d ^ styleSheet == ""), "Style sheet and style ratio should be defined in pair.")
33 | }
34 |
35 |
36 | trait CommonBuild extends Build {
37 |
38 | val course = SettingKey[String]("course")
39 |
40 | val assignment = SettingKey[String]("assignment")
41 |
42 | val assignmentsMap = SettingKey[Map[String, Assignment]]("assignmentsMap")
43 |
44 | val courseId = SettingKey[String]("courseId")
45 |
46 | val commonSourcePackages = SettingKey[Seq[String]]("commonSourcePackages")
47 |
48 | lazy val scalaTestDependency = "org.scalatest" %% "scalatest" % "2.2.4"
49 | }
50 |
--------------------------------------------------------------------------------
/stackoverflow/project/Settings.scala:
--------------------------------------------------------------------------------
1 | object Settings {
2 | val maxSubmitFileSize = {
3 | val mb = 1024 * 1024
4 | 10 * mb
5 | }
6 |
7 | val testResultsFileName = "grading-results-log"
8 |
9 | // time in seconds that we give scalatest for running
10 | val scalaTestTimeout = 850 // coursera has a 15 minute timeout anyhow
11 | val individualTestTimeout = 240
12 |
13 | // default weight of each test in a GradingSuite, in case no weight is given
14 | val scalaTestDefaultWeight = 10
15 |
16 | // when students leave print statements in their code, they end up in the output of the
17 | // system process running ScalaTest (ScalaTestRunner.scala); we need some limits.
18 | val maxOutputLines = 10 * 1000
19 | val maxOutputLineLength = 1000
20 |
21 | val scalaTestReportFileProperty = "scalatest.reportFile"
22 | val scalaTestIndividualTestTimeoutProperty = "scalatest.individualTestTimeout"
23 | val scalaTestReadableFilesProperty = "scalatest.readableFiles"
24 | val scalaTestDefaultWeightProperty = "scalatest.defaultWeight"
25 | val scalaTestReporter = "ch.epfl.lamp.grading.GradingReporter"
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/stackoverflow/project/StudentBuild.scala:
--------------------------------------------------------------------------------
1 | object StudentBuild extends StudentBuildLike
2 |
--------------------------------------------------------------------------------
/stackoverflow/project/StyleChecker.scala:
--------------------------------------------------------------------------------
1 | import sbt.File
2 | import java.io.ByteArrayOutputStream
3 | import java.io.PrintStream
4 | import org.scalastyle._
5 | import com.typesafe.config.ConfigFactory
6 |
7 | object StyleChecker {
8 | val maxResult = 100
9 |
10 | class CustomTextOutput[T <: FileSpec](stream: PrintStream) extends Output[T] {
11 | private val messageHelper = new MessageHelper(ConfigFactory.load())
12 |
13 | var fileCount: Int = _
14 | override def message(m: Message[T]): Unit = m match {
15 | case StartWork() =>
16 | case EndWork() =>
17 | case StartFile(file) =>
18 | stream.print("Checking file " + file + "...")
19 | fileCount = 0
20 | case EndFile(file) =>
21 | if (fileCount == 0) stream.println(" OK!")
22 | case StyleError(file, clazz, key, level, args, line, column, customMessage) =>
23 | report(line, column, messageHelper.text(level.name),
24 | Output.findMessage(messageHelper, key, args, customMessage))
25 | case StyleException(file, clazz, message, stacktrace, line, column) =>
26 | report(line, column, "error", message)
27 | }
28 |
29 | private def report(line: Option[Int], column: Option[Int], level: String, message: String) {
30 | if (fileCount == 0) stream.println("")
31 | fileCount += 1
32 | stream.println(" " + fileCount + ". " + level + pos(line, column) + ":")
33 | stream.println(" " + message)
34 | }
35 |
36 | private def pos(line: Option[Int], column: Option[Int]): String = line match {
37 | case Some(lineNumber) => " at line " + lineNumber + (column match {
38 | case Some(columnNumber) => " character " + columnNumber
39 | case None => ""
40 | })
41 | case None => ""
42 | }
43 | }
44 |
45 | def score(outputResult: OutputResult) = {
46 | val penalties = outputResult.errors + outputResult.warnings
47 | scala.math.max(maxResult - penalties, 0)
48 | }
49 |
50 | def assess(sources: Seq[File], styleSheetPath: String): (String, Int) = {
51 | val configFile = new File(styleSheetPath).getAbsolutePath
52 |
53 | val messages = new ScalastyleChecker().checkFiles(
54 | ScalastyleConfiguration.readFromXml(configFile),
55 | Directory.getFiles(None, sources))
56 |
57 | val output = new ByteArrayOutputStream()
58 | val outputResult = new CustomTextOutput(new PrintStream(output)).output(messages)
59 |
60 | val msg = s"""${output.toString}
61 | |Processed ${outputResult.files} file(s)
62 | |Found ${outputResult.errors} errors
63 | |Found ${outputResult.warnings} warnings
64 | |""".stripMargin
65 |
66 | (msg, score(outputResult))
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/stackoverflow/project/build.properties:
--------------------------------------------------------------------------------
1 | sbt.version=0.13.9
--------------------------------------------------------------------------------
/stackoverflow/project/buildSettings.sbt:
--------------------------------------------------------------------------------
1 | // used for style-checking submissions
2 | libraryDependencies += "org.scalastyle" %% "scalastyle" % "0.8.0"
3 |
4 | // used for submitting the assignments to Coursera
5 | libraryDependencies += "org.scalaj" %% "scalaj-http" % "2.2.1"
6 |
7 | // used for base64 encoding
8 | libraryDependencies += "commons-codec" % "commons-codec" % "1.10"
9 |
10 | // used to escape json for the submission
11 | libraryDependencies += "org.apache.commons" % "commons-lang3" % "3.4"
12 |
--------------------------------------------------------------------------------
/stackoverflow/project/plugins.sbt:
--------------------------------------------------------------------------------
1 | addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.1.0")
2 | addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.11")
3 |
4 | addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M15")
5 |
--------------------------------------------------------------------------------
/stackoverflow/src/test/scala/stackoverflow/StackOverflowSuite.scala:
--------------------------------------------------------------------------------
1 | package stackoverflow
2 |
3 | import org.scalatest.{FunSuite, BeforeAndAfterAll}
4 | import org.junit.runner.RunWith
5 | import org.scalatest.junit.JUnitRunner
6 | import org.apache.spark.SparkConf
7 | import org.apache.spark.SparkContext
8 | import org.apache.spark.SparkContext._
9 | import org.apache.spark.rdd.RDD
10 | import java.io.File
11 |
12 | @RunWith(classOf[JUnitRunner])
13 | class StackOverflowSuite extends FunSuite with BeforeAndAfterAll {
14 |
15 |
16 | lazy val testObject = new StackOverflow {
17 | override val langs =
18 | List(
19 | "JavaScript", "Java", "PHP", "Python", "C#", "C++", "Ruby", "CSS",
20 | "Objective-C", "Perl", "Scala", "Haskell", "MATLAB", "Clojure", "Groovy")
21 | override def langSpread = 50000
22 | override def kmeansKernels = 45
23 | override def kmeansEta: Double = 20.0D
24 | override def kmeansMaxIterations = 120
25 | }
26 |
27 | test("testObject can be instantiated") {
28 | val instantiatable = try {
29 | testObject
30 | true
31 | } catch {
32 | case _: Throwable => false
33 | }
34 | assert(instantiatable, "Can't instantiate a StackOverflow object")
35 | }
36 |
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/wikipedia/.idea/.name:
--------------------------------------------------------------------------------
1 | bigdata-wikipedia
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__aopalliance_aopalliance_1_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_clearspring_analytics_stream_2_7_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_esotericsoftware_kryo_shaded_3_0_3_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_esotericsoftware_minlog_1_3_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_fasterxml_jackson_core_jackson_annotations_2_6_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_fasterxml_jackson_core_jackson_core_2_6_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_fasterxml_jackson_core_jackson_databind_2_6_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_fasterxml_jackson_module_jackson_module_paranamer_2_6_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_fasterxml_jackson_module_jackson_module_scala_2_11_2_6_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_google_code_findbugs_jsr305_1_3_9_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_google_guava_guava_14_0_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_google_inject_guice_3_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_google_protobuf_protobuf_java_2_5_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_ning_compress_lzf_1_0_3_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_thoughtworks_paranamer_paranamer_2_6_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_twitter_chill_2_11_0_8_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__com_twitter_chill_java_0_8_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_beanutils_commons_beanutils_1_7_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_beanutils_commons_beanutils_core_1_8_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_cli_commons_cli_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_codec_commons_codec_1_4_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_collections_commons_collections_3_2_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_configuration_commons_configuration_1_6_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_digester_commons_digester_1_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_httpclient_commons_httpclient_3_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_io_commons_io_2_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_lang_commons_lang_2_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__commons_net_commons_net_2_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__io_dropwizard_metrics_metrics_core_3_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__io_dropwizard_metrics_metrics_graphite_3_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__io_dropwizard_metrics_metrics_json_3_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__io_dropwizard_metrics_metrics_jvm_3_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__io_netty_netty_3_8_0_Final_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__io_netty_netty_all_4_0_29_Final_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__javax_annotation_javax_annotation_api_1_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__javax_inject_javax_inject_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__javax_servlet_javax_servlet_api_3_1_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__javax_validation_validation_api_1_1_0_Final_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__javax_ws_rs_javax_ws_rs_api_2_0_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__junit_junit_4_10_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__log4j_log4j_1_2_17_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__net_java_dev_jets3t_jets3t_0_7_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__net_jpountz_lz4_lz4_1_3_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__net_razorvine_pyrolite_4_9_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__net_sf_py4j_py4j_0_10_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_avro_avro_1_7_7_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_avro_avro_ipc_1_7_7_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_avro_avro_ipc_1_7_7_tests_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_avro_avro_mapred_1_7_7_hadoop2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_commons_commons_compress_1_4_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_commons_commons_lang3_3_3_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_commons_commons_math3_3_4_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_commons_commons_math_2_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_curator_curator_client_2_4_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_curator_curator_framework_2_4_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_curator_curator_recipes_2_4_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_annotations_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_auth_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_client_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_common_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_hdfs_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_mapreduce_client_app_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_mapreduce_client_common_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_mapreduce_client_core_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_mapreduce_client_jobclient_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_mapreduce_client_shuffle_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_yarn_api_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_yarn_client_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_yarn_common_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_hadoop_hadoop_yarn_server_common_2_2_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_ivy_ivy_2_4_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_mesos_mesos_0_21_1_shaded_protobuf_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_spark_spark_core_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_spark_spark_launcher_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_spark_spark_network_common_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_spark_spark_network_shuffle_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_spark_spark_tags_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_spark_spark_unsafe_2_11_2_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_xbean_xbean_asm5_shaded_4_4_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_apache_zookeeper_zookeeper_3_4_5_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_codehaus_jackson_jackson_core_asl_1_9_13_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_codehaus_jackson_jackson_mapper_asl_1_9_13_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_fusesource_leveldbjni_leveldbjni_all_1_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_hk2_external_aopalliance_repackaged_2_4_0_b34_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_hk2_external_javax_inject_2_4_0_b34_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_hk2_hk2_api_2_4_0_b34_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_hk2_hk2_locator_2_4_0_b34_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_hk2_hk2_utils_2_4_0_b34_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_hk2_osgi_resource_locator_1_0_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_jersey_bundles_repackaged_jersey_guava_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_jersey_containers_jersey_container_servlet_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_jersey_containers_jersey_container_servlet_core_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_jersey_core_jersey_client_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_jersey_core_jersey_common_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_jersey_core_jersey_server_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_glassfish_jersey_media_jersey_media_jaxb_2_22_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_hamcrest_hamcrest_core_1_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_javassist_javassist_3_18_1_GA_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_json4s_json4s_ast_2_11_3_2_11_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_json4s_json4s_core_2_11_3_2_11_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_json4s_json4s_jackson_2_11_3_2_11_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_mortbay_jetty_jetty_util_6_1_26_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_objenesis_objenesis_2_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_roaringbitmap_RoaringBitmap_0_5_11_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_1_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_scala_lang_modules_scala_xml_2_11_1_0_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_scala_lang_scala_compiler_2_11_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_scala_lang_scala_library_2_11_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_scala_lang_scala_reflect_2_11_7_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_scala_lang_scalap_2_11_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_scalatest_scalatest_2_11_2_2_6_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_slf4j_jcl_over_slf4j_1_7_16_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_slf4j_jul_to_slf4j_1_7_16_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_slf4j_slf4j_api_1_7_16_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_slf4j_slf4j_log4j12_1_7_16_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_sonatype_sisu_inject_cglib_2_2_1_v20090111_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_spark_project_spark_unused_1_0_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_tukaani_xz_1_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__org_xerial_snappy_snappy_java_1_1_2_4_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__oro_oro_2_0_8_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wikipedia/.idea/libraries/SBT__xmlenc_xmlenc_0_52_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/wikipedia/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | 1.8
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/wikipedia/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/wikipedia/.idea/sbt.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/wikipedia/.idea/scala_compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/wikipedia/assignment.sbt:
--------------------------------------------------------------------------------
1 | course := "bigdata"
2 | assignment := "wikipedia"
--------------------------------------------------------------------------------
/wikipedia/build.sbt:
--------------------------------------------------------------------------------
1 | name := course.value + "-" + assignment.value
2 |
3 | scalaVersion := "2.11.8"
4 |
5 | scalacOptions ++= Seq("-deprecation")
6 |
7 | courseId := "e8VseYIYEeWxQQoymFg8zQ"
8 |
9 | resolvers += Resolver.sonatypeRepo("releases")
10 |
11 | // grading libraries
12 | libraryDependencies += "junit" % "junit" % "4.10" % "test"
13 | libraryDependencies ++= assignmentsMap.value.values.flatMap(_.dependencies).toSeq
14 |
15 | // include the common dir
16 | commonSourcePackages += "common"
17 |
18 | assignmentsMap := {
19 | val depsSpark = Seq(
20 | "org.apache.spark" %% "spark-core" % "2.0.0"
21 | )
22 | Map(
23 | "example" -> Assignment(
24 | packageName = "example",
25 | key = "9W3VuiJREeaFaw43_UrNUw",
26 | itemId = "I6L8m",
27 | partId = "vsJoj",
28 | maxScore = 10d,
29 | dependencies = depsSpark,
30 | options = Map("Xmx"->"1540m", "grader-memory"->"2048")),
31 | "wikipedia" -> Assignment(
32 | packageName = "wikipedia",
33 | key = "EH8wby4kEeawURILfHIqjw",
34 | itemId = "QcWcs",
35 | partId = "5komc",
36 | maxScore = 10d,
37 | styleScoreRatio = 0.0,
38 | dependencies = depsSpark,
39 | options = Map("Xmx"->"1540m", "grader-memory"->"2048", "totalTimeout" -> "900", "grader-cpu" -> "2")),
40 | "stackoverflow" -> Assignment(
41 | packageName = "stackoverflow",
42 | key = "7ByAoS4kEea1yxIfJA1CUw",
43 | itemId = "FWGnz",
44 | partId = "OY5fJ",
45 | maxScore = 10d,
46 | styleScoreRatio = 0.0,
47 | dependencies = depsSpark,
48 | options = Map("Xmx"->"1540m", "grader-memory"->"2048", "totalTimeout" -> "900", "grader-cpu" -> "2"))
49 | )
50 | }
51 |
52 |
--------------------------------------------------------------------------------
/wikipedia/project/CommonBuild.scala:
--------------------------------------------------------------------------------
1 | import sbt._
2 |
3 | /**
4 | * @param packageName Used as the prefix for: (1) handout name, (2) the Scala package, (3) source folder.
5 | * @param key Per assignment key specified by coursera.
6 | * @param partId Identifies the part of the assignment. (We always have one-part assignments.)
7 | * @param maxScore Maximum score that can be given for the assignment. Must match the value in the WebAPI.
8 | * @param styleScoreRatio Defines the portion of the grade that is assigned to style.
9 | * @param dependencies Library dependencies specific to this module.
10 | * @param styleSheet Path to the scalastyle configuration for this assignment.
11 | * @param options Options passed to the java process or coursera infrastructure. Following values are
12 | * supported:
13 | *
14 | * NAME DEFAULT DESCRIPTION
15 | * Xms 10m -Xms for jvm
16 | * Xmx 256m -Xmx for jvm, should less than `grader-memory`
17 | * individualTimeout 240 time out of one test case
18 | * totalTimeout 850 total time out, should less than `grader-timeout`
19 | * grader-cpu 1 number of cpu for coursera infrastructure
20 | * grader-memory 1024 memory for coursera infrastructure
21 | * grader-timeout 1200 grading timeout for coursera infrastructure
22 | */
23 | case class Assignment(packageName: String,
24 | key: String,
25 | itemId: String,
26 | partId: String,
27 | maxScore: Double,
28 | styleScoreRatio: Double = 0.0d,
29 | styleSheet: String = "",
30 | dependencies: Seq[ModuleID] = Seq(),
31 | options: Map[String, String] = Map()) {
32 | assert(!(styleScoreRatio == 0.0d ^ styleSheet == ""), "Style sheet and style ratio should be defined in pair.")
33 | }
34 |
35 |
36 | trait CommonBuild extends Build {
37 |
38 | val course = SettingKey[String]("course")
39 |
40 | val assignment = SettingKey[String]("assignment")
41 |
42 | val assignmentsMap = SettingKey[Map[String, Assignment]]("assignmentsMap")
43 |
44 | val courseId = SettingKey[String]("courseId")
45 |
46 | val commonSourcePackages = SettingKey[Seq[String]]("commonSourcePackages")
47 |
48 | lazy val scalaTestDependency = "org.scalatest" %% "scalatest" % "2.2.4"
49 | }
50 |
--------------------------------------------------------------------------------
/wikipedia/project/Settings.scala:
--------------------------------------------------------------------------------
1 | object Settings {
2 | val maxSubmitFileSize = {
3 | val mb = 1024 * 1024
4 | 10 * mb
5 | }
6 |
7 | val testResultsFileName = "grading-results-log"
8 |
9 | // time in seconds that we give scalatest for running
10 | val scalaTestTimeout = 850 // coursera has a 15 minute timeout anyhow
11 | val individualTestTimeout = 240
12 |
13 | // default weight of each test in a GradingSuite, in case no weight is given
14 | val scalaTestDefaultWeight = 10
15 |
16 | // when students leave print statements in their code, they end up in the output of the
17 | // system process running ScalaTest (ScalaTestRunner.scala); we need some limits.
18 | val maxOutputLines = 10 * 1000
19 | val maxOutputLineLength = 1000
20 |
21 | val scalaTestReportFileProperty = "scalatest.reportFile"
22 | val scalaTestIndividualTestTimeoutProperty = "scalatest.individualTestTimeout"
23 | val scalaTestReadableFilesProperty = "scalatest.readableFiles"
24 | val scalaTestDefaultWeightProperty = "scalatest.defaultWeight"
25 | val scalaTestReporter = "ch.epfl.lamp.grading.GradingReporter"
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/wikipedia/project/StudentBuild.scala:
--------------------------------------------------------------------------------
1 | object StudentBuild extends StudentBuildLike
2 |
--------------------------------------------------------------------------------
/wikipedia/project/StyleChecker.scala:
--------------------------------------------------------------------------------
1 | import sbt.File
2 | import java.io.ByteArrayOutputStream
3 | import java.io.PrintStream
4 | import org.scalastyle._
5 | import com.typesafe.config.ConfigFactory
6 |
7 | object StyleChecker {
8 | val maxResult = 100
9 |
10 | class CustomTextOutput[T <: FileSpec](stream: PrintStream) extends Output[T] {
11 | private val messageHelper = new MessageHelper(ConfigFactory.load())
12 |
13 | var fileCount: Int = _
14 | override def message(m: Message[T]): Unit = m match {
15 | case StartWork() =>
16 | case EndWork() =>
17 | case StartFile(file) =>
18 | stream.print("Checking file " + file + "...")
19 | fileCount = 0
20 | case EndFile(file) =>
21 | if (fileCount == 0) stream.println(" OK!")
22 | case StyleError(file, clazz, key, level, args, line, column, customMessage) =>
23 | report(line, column, messageHelper.text(level.name),
24 | Output.findMessage(messageHelper, key, args, customMessage))
25 | case StyleException(file, clazz, message, stacktrace, line, column) =>
26 | report(line, column, "error", message)
27 | }
28 |
29 | private def report(line: Option[Int], column: Option[Int], level: String, message: String) {
30 | if (fileCount == 0) stream.println("")
31 | fileCount += 1
32 | stream.println(" " + fileCount + ". " + level + pos(line, column) + ":")
33 | stream.println(" " + message)
34 | }
35 |
36 | private def pos(line: Option[Int], column: Option[Int]): String = line match {
37 | case Some(lineNumber) => " at line " + lineNumber + (column match {
38 | case Some(columnNumber) => " character " + columnNumber
39 | case None => ""
40 | })
41 | case None => ""
42 | }
43 | }
44 |
45 | def score(outputResult: OutputResult) = {
46 | val penalties = outputResult.errors + outputResult.warnings
47 | scala.math.max(maxResult - penalties, 0)
48 | }
49 |
50 | def assess(sources: Seq[File], styleSheetPath: String): (String, Int) = {
51 | val configFile = new File(styleSheetPath).getAbsolutePath
52 |
53 | val messages = new ScalastyleChecker().checkFiles(
54 | ScalastyleConfiguration.readFromXml(configFile),
55 | Directory.getFiles(None, sources))
56 |
57 | val output = new ByteArrayOutputStream()
58 | val outputResult = new CustomTextOutput(new PrintStream(output)).output(messages)
59 |
60 | val msg = s"""${output.toString}
61 | |Processed ${outputResult.files} file(s)
62 | |Found ${outputResult.errors} errors
63 | |Found ${outputResult.warnings} warnings
64 | |""".stripMargin
65 |
66 | (msg, score(outputResult))
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/wikipedia/project/build.properties:
--------------------------------------------------------------------------------
1 | sbt.version=0.13.9
--------------------------------------------------------------------------------
/wikipedia/project/buildSettings.sbt:
--------------------------------------------------------------------------------
1 | // used for style-checking submissions
2 | libraryDependencies += "org.scalastyle" %% "scalastyle" % "0.8.0"
3 |
4 | // used for submitting the assignments to Coursera
5 | libraryDependencies += "org.scalaj" %% "scalaj-http" % "2.2.1"
6 |
7 | // used for base64 encoding
8 | libraryDependencies += "commons-codec" % "commons-codec" % "1.10"
9 |
10 | // used to escape json for the submission
11 | libraryDependencies += "org.apache.commons" % "commons-lang3" % "3.4"
12 |
--------------------------------------------------------------------------------
/wikipedia/project/plugins.sbt:
--------------------------------------------------------------------------------
1 | addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")
2 | addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.11")
3 |
--------------------------------------------------------------------------------
/wikipedia/src/main/scala/wikipedia/WikipediaData.scala:
--------------------------------------------------------------------------------
1 | package wikipedia
2 |
3 | import java.io.File
4 |
5 | object WikipediaData {
6 |
7 | private[wikipedia] def filePath = {
8 | new File(this.getClass.getClassLoader.getResource("wikipedia/wikipedia.dat").toURI).getPath
9 | }
10 |
11 | private[wikipedia] def parse(line: String): WikipediaArticle = {
12 | val subs = ""
13 | val i = line.indexOf(subs)
14 | val title = line.substring(14, i)
15 | val text = line.substring(i + subs.length, line.length-16)
16 | WikipediaArticle(title, text)
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/wikipedia/src/test/scala/wikipedia/WikipediaSuite.scala:
--------------------------------------------------------------------------------
1 | package wikipedia
2 |
3 | import org.scalatest.{FunSuite, BeforeAndAfterAll}
4 | import org.junit.runner.RunWith
5 | import org.scalatest.junit.JUnitRunner
6 |
7 | import org.apache.spark.SparkConf
8 | import org.apache.spark.SparkContext
9 | import org.apache.spark.SparkContext._
10 |
11 | @RunWith(classOf[JUnitRunner])
12 | class WikipediaSuite extends FunSuite with BeforeAndAfterAll {
13 |
14 | def initializeWikipediaRanking(): Boolean =
15 | try {
16 | WikipediaRanking
17 | true
18 | } catch {
19 | case ex: Throwable =>
20 | println(ex.getMessage)
21 | ex.printStackTrace()
22 | false
23 | }
24 |
25 | override def afterAll(): Unit = {
26 | assert(initializeWikipediaRanking(), " -- did you fill in all the values in WikipediaRanking (conf, sc, wikiRdd)?")
27 | import WikipediaRanking._
28 | sc.stop()
29 | }
30 |
31 | // Conditions:
32 | // (1) the language stats contain the same elements
33 | // (2) they are ordered (and the order doesn't matter if there are several languages with the same count)
34 | def equivalentAndOrdered(given: List[(String, Int)], expected: List[(String, Int)]): Boolean = {
35 | /* (1) */ (given.toSet == expected.toSet) &&
36 | /* (2) */!(given zip given.tail).exists({ case ((_, occ1), (_, occ2)) => occ1 < occ2 })
37 | }
38 |
39 | test("'occurrencesOfLang' should work for (specific) RDD with one element") {
40 | assert(initializeWikipediaRanking(), " -- did you fill in all the values in WikipediaRanking (conf, sc, wikiRdd)?")
41 | import WikipediaRanking._
42 | val rdd = sc.parallelize(Seq(WikipediaArticle("title", "Java Jakarta")))
43 | val res = (occurrencesOfLang("Java", rdd) == 1)
44 | assert(res, "occurrencesOfLang given (specific) RDD with one element should equal to 1")
45 | }
46 |
47 | test("'rankLangs' should work for RDD with two elements") {
48 | assert(initializeWikipediaRanking(), " -- did you fill in all the values in WikipediaRanking (conf, sc, wikiRdd)?")
49 | import WikipediaRanking._
50 | val langs = List("Scala", "Java")
51 | val rdd = sc.parallelize(List(WikipediaArticle("1", "Scala is great"), WikipediaArticle("2", "Java is OK, but Scala is cooler")))
52 | val ranked = rankLangs(langs, rdd)
53 | val res = ranked.head._1 == "Scala"
54 | assert(res)
55 | }
56 |
57 | test("'makeIndex' creates a simple index with two entries") {
58 | assert(initializeWikipediaRanking(), " -- did you fill in all the values in WikipediaRanking (conf, sc, wikiRdd)?")
59 | import WikipediaRanking._
60 | val langs = List("Scala", "Java")
61 | val articles = List(
62 | WikipediaArticle("1","Groovy is pretty interesting, and so is Erlang"),
63 | WikipediaArticle("2","Scala and Java run on the JVM"),
64 | WikipediaArticle("3","Scala is not purely functional")
65 | )
66 | val rdd = sc.parallelize(articles)
67 | val index = makeIndex(langs, rdd)
68 | val res = index.count() == 2
69 | assert(res)
70 | }
71 |
72 | test("'rankLangsUsingIndex' should work for a simple RDD with three elements") {
73 | assert(initializeWikipediaRanking(), " -- did you fill in all the values in WikipediaRanking (conf, sc, wikiRdd)?")
74 | import WikipediaRanking._
75 | val langs = List("Scala", "Java")
76 | val articles = List(
77 | WikipediaArticle("1","Groovy is pretty interesting, and so is Erlang"),
78 | WikipediaArticle("2","Scala and Java run on the JVM"),
79 | WikipediaArticle("3","Scala is not purely functional")
80 | )
81 | val rdd = sc.parallelize(articles)
82 | val index = makeIndex(langs, rdd)
83 | val ranked = rankLangsUsingIndex(index)
84 | val res = (ranked.head._1 == "Scala")
85 | assert(res)
86 | }
87 |
88 | test("'rankLangsReduceByKey' should work for a simple RDD with four elements") {
89 | assert(initializeWikipediaRanking(), " -- did you fill in all the values in WikipediaRanking (conf, sc, wikiRdd)?")
90 | import WikipediaRanking._
91 | val langs = List("Scala", "Java", "Groovy", "Haskell", "Erlang")
92 | val articles = List(
93 | WikipediaArticle("1","Groovy is pretty interesting, and so is Erlang"),
94 | WikipediaArticle("2","Scala and Java run on the JVM"),
95 | WikipediaArticle("3","Scala is not purely functional"),
96 | WikipediaArticle("4","The cool kids like Haskell more than Java"),
97 | WikipediaArticle("5","Java is for enterprise developers")
98 | )
99 | val rdd = sc.parallelize(articles)
100 | val ranked = rankLangsReduceByKey(langs, rdd)
101 | val res = (ranked.head._1 == "Java")
102 | assert(res)
103 | }
104 |
105 |
106 | }
107 |
--------------------------------------------------------------------------------