├── .idea ├── artifacts │ └── StudySpark_jar.xml ├── codeStyleSettings.xml ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── libraries │ ├── Maven__antlr_antlr_2_7_7.xml │ ├── Maven__com_alibaba_fastjson_1_1_41.xml │ ├── Maven__com_clearspring_analytics_stream_2_7_0.xml │ ├── Maven__com_esotericsoftware_kryo_shaded_3_0_3.xml │ ├── Maven__com_esotericsoftware_minlog_1_3_0.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_6_5.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_6_5.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_6_5.xml │ ├── Maven__com_fasterxml_jackson_module_jackson_module_paranamer_2_6_5.xml │ ├── Maven__com_fasterxml_jackson_module_jackson_module_scala_2_11_2_6_5.xml │ ├── Maven__com_google_code_findbugs_jsr305_1_3_9.xml │ ├── Maven__com_google_code_gson_gson_2_2_4.xml │ ├── Maven__com_google_guava_guava_14_0_1.xml │ ├── Maven__com_google_protobuf_protobuf_java_2_5_0.xml │ ├── Maven__com_googlecode_javaewah_JavaEWAH_0_3_2.xml │ ├── Maven__com_jolbox_bonecp_0_8_0_RELEASE.xml │ ├── Maven__com_ning_compress_lzf_1_0_3.xml │ ├── Maven__com_sun_jersey_jersey_client_1_9.xml │ ├── Maven__com_sun_jersey_jersey_core_1_9.xml │ ├── Maven__com_thoughtworks_paranamer_paranamer_2_3.xml │ ├── Maven__com_twitter_chill_2_11_0_8_0.xml │ ├── Maven__com_twitter_chill_java_0_8_0.xml │ ├── Maven__com_twitter_parquet_hadoop_bundle_1_6_0.xml │ ├── Maven__com_univocity_univocity_parsers_2_2_1.xml │ ├── Maven__commons_beanutils_commons_beanutils_1_7_0.xml │ ├── Maven__commons_beanutils_commons_beanutils_core_1_8_0.xml │ ├── Maven__commons_cli_commons_cli_1_2.xml │ ├── Maven__commons_codec_commons_codec_1_10.xml │ ├── Maven__commons_collections_commons_collections_3_2_1.xml │ ├── Maven__commons_configuration_commons_configuration_1_6.xml │ ├── Maven__commons_dbcp_commons_dbcp_1_4.xml │ ├── Maven__commons_digester_commons_digester_1_8.xml │ ├── Maven__commons_httpclient_commons_httpclient_3_1.xml │ ├── Maven__commons_io_commons_io_2_4.xml │ ├── Maven__commons_lang_commons_lang_2_6.xml │ ├── Maven__commons_logging_commons_logging_1_1_3.xml │ ├── Maven__commons_net_commons_net_2_2.xml │ ├── Maven__commons_pool_commons_pool_1_5_4.xml │ ├── Maven__io_dropwizard_metrics_metrics_core_3_1_2.xml │ ├── Maven__io_dropwizard_metrics_metrics_graphite_3_1_2.xml │ ├── Maven__io_dropwizard_metrics_metrics_json_3_1_2.xml │ ├── Maven__io_dropwizard_metrics_metrics_jvm_3_1_2.xml │ ├── Maven__io_netty_netty_3_8_0_Final.xml │ ├── Maven__io_netty_netty_all_4_0_42_Final.xml │ ├── Maven__it_unimi_dsi_fastutil_7_0_6.xml │ ├── Maven__javax_activation_activation_1_1.xml │ ├── Maven__javax_annotation_javax_annotation_api_1_2.xml │ ├── Maven__javax_jdo_jdo_api_3_0_1.xml │ ├── Maven__javax_servlet_javax_servlet_api_3_1_0.xml │ ├── Maven__javax_servlet_servlet_api_2_5.xml │ ├── Maven__javax_transaction_jta_1_1.xml │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ ├── Maven__javax_ws_rs_javax_ws_rs_api_2_0_1.xml │ ├── Maven__javax_xml_bind_jaxb_api_2_2_2.xml │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ ├── Maven__javolution_javolution_5_5_1.xml │ ├── Maven__joda_time_joda_time_2_9_3.xml │ ├── Maven__junit_junit_4_4.xml │ ├── Maven__log4j_apache_log4j_extras_1_2_17.xml │ ├── Maven__log4j_log4j_1_2_17.xml │ ├── Maven__mysql_mysql_connector_java_5_1_6.xml │ ├── Maven__net_hydromatic_eigenbase_properties_1_1_5.xml │ ├── Maven__net_java_dev_jets3t_jets3t_0_7_1.xml │ ├── Maven__net_jpountz_lz4_lz4_1_3_0.xml │ ├── Maven__net_razorvine_pyrolite_4_13.xml │ ├── Maven__net_sf_opencsv_opencsv_2_3.xml │ ├── Maven__net_sf_py4j_py4j_0_10_4.xml │ ├── Maven__org_antlr_ST4_4_0_4.xml │ ├── Maven__org_antlr_antlr4_runtime_4_5_3.xml │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ ├── Maven__org_apache_avro_avro_1_7_7.xml │ ├── Maven__org_apache_avro_avro_ipc_1_7_7.xml │ ├── Maven__org_apache_avro_avro_ipc_tests_1_7_7.xml │ ├── Maven__org_apache_avro_avro_mapred_hadoop2_1_7_7.xml │ ├── Maven__org_apache_calcite_calcite_avatica_1_2_0_incubating.xml │ ├── Maven__org_apache_calcite_calcite_core_1_2_0_incubating.xml │ ├── Maven__org_apache_calcite_calcite_linq4j_1_2_0_incubating.xml │ ├── Maven__org_apache_commons_commons_compress_1_4_1.xml │ ├── Maven__org_apache_commons_commons_crypto_1_0_0.xml │ ├── Maven__org_apache_commons_commons_lang3_3_5.xml │ ├── Maven__org_apache_commons_commons_math3_3_4_1.xml │ ├── Maven__org_apache_curator_curator_client_2_6_0.xml │ ├── Maven__org_apache_curator_curator_framework_2_4_0.xml │ ├── Maven__org_apache_curator_curator_recipes_2_4_0.xml │ ├── Maven__org_apache_derby_derby_10_10_2_0.xml │ ├── Maven__org_apache_directory_api_api_asn1_api_1_0_0_M20.xml │ ├── Maven__org_apache_directory_api_api_util_1_0_0_M20.xml │ ├── Maven__org_apache_directory_server_apacheds_i18n_2_0_0_M15.xml │ ├── Maven__org_apache_directory_server_apacheds_kerberos_codec_2_0_0_M15.xml │ ├── Maven__org_apache_hadoop_hadoop_annotations_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_auth_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_client_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_common_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_hdfs_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_mapreduce_client_app_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_mapreduce_client_common_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_mapreduce_client_core_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_mapreduce_client_jobclient_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_mapreduce_client_shuffle_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_yarn_api_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_yarn_client_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_yarn_common_2_6_0.xml │ ├── Maven__org_apache_hadoop_hadoop_yarn_server_common_2_6_0.xml │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_2.xml │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_4.xml │ ├── Maven__org_apache_ivy_ivy_2_4_0.xml │ ├── Maven__org_apache_parquet_parquet_column_1_8_1.xml │ ├── Maven__org_apache_parquet_parquet_common_1_8_1.xml │ ├── Maven__org_apache_parquet_parquet_encoding_1_8_1.xml │ ├── Maven__org_apache_parquet_parquet_format_2_3_0_incubating.xml │ ├── Maven__org_apache_parquet_parquet_hadoop_1_8_1.xml │ ├── Maven__org_apache_parquet_parquet_jackson_1_8_1.xml │ ├── Maven__org_apache_spark_spark_catalyst_2_11_2_1_1.xml │ ├── Maven__org_apache_spark_spark_core_2_11_2_1_1.xml │ ├── Maven__org_apache_spark_spark_hive_2_11_2_1_1.xml │ ├── Maven__org_apache_spark_spark_launcher_2_11_2_1_1.xml │ ├── Maven__org_apache_spark_spark_network_common_2_11_2_1_1.xml │ ├── Maven__org_apache_spark_spark_network_shuffle_2_11_2_1_1.xml │ ├── Maven__org_apache_spark_spark_sketch_2_11_2_1_1.xml │ ├── Maven__org_apache_spark_spark_sql_2_11_2_1_1.xml │ ├── Maven__org_apache_spark_spark_streaming_2_11_2_1_1.xml │ ├── Maven__org_apache_spark_spark_streaming_kafka_0_8_assembly_2_10_2_1_1.xml │ ├── Maven__org_apache_spark_spark_tags_2_11_2_1_1.xml │ ├── Maven__org_apache_spark_spark_unsafe_2_11_2_1_1.xml │ ├── Maven__org_apache_thrift_libfb303_0_9_3.xml │ ├── Maven__org_apache_thrift_libthrift_0_9_3.xml │ ├── Maven__org_apache_xbean_xbean_asm5_shaded_4_4.xml │ ├── Maven__org_apache_zookeeper_zookeeper_3_4_5.xml │ ├── Maven__org_codehaus_jackson_jackson_core_asl_1_9_13.xml │ ├── Maven__org_codehaus_jackson_jackson_jaxrs_1_9_13.xml │ ├── Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_13.xml │ ├── Maven__org_codehaus_jackson_jackson_xc_1_9_13.xml │ ├── Maven__org_codehaus_janino_commons_compiler_3_0_0.xml │ ├── Maven__org_codehaus_janino_janino_3_0_0.xml │ ├── Maven__org_datanucleus_datanucleus_api_jdo_3_2_6.xml │ ├── Maven__org_datanucleus_datanucleus_core_3_2_10.xml │ ├── Maven__org_datanucleus_datanucleus_rdbms_3_2_9.xml │ ├── Maven__org_fusesource_leveldbjni_leveldbjni_all_1_8.xml │ ├── Maven__org_glassfish_hk2_external_aopalliance_repackaged_2_4_0_b34.xml │ ├── Maven__org_glassfish_hk2_external_javax_inject_2_4_0_b34.xml │ ├── Maven__org_glassfish_hk2_hk2_api_2_4_0_b34.xml │ ├── Maven__org_glassfish_hk2_hk2_locator_2_4_0_b34.xml │ ├── Maven__org_glassfish_hk2_hk2_utils_2_4_0_b34.xml │ ├── Maven__org_glassfish_hk2_osgi_resource_locator_1_0_1.xml │ ├── Maven__org_glassfish_jersey_bundles_repackaged_jersey_guava_2_22_2.xml │ ├── Maven__org_glassfish_jersey_containers_jersey_container_servlet_2_22_2.xml │ ├── Maven__org_glassfish_jersey_containers_jersey_container_servlet_core_2_22_2.xml │ ├── Maven__org_glassfish_jersey_core_jersey_client_2_22_2.xml │ ├── Maven__org_glassfish_jersey_core_jersey_common_2_22_2.xml │ ├── Maven__org_glassfish_jersey_core_jersey_server_2_22_2.xml │ ├── Maven__org_glassfish_jersey_media_jersey_media_jaxb_2_22_2.xml │ ├── Maven__org_hamcrest_hamcrest_core_1_1.xml │ ├── Maven__org_hamcrest_hamcrest_library_1_1.xml │ ├── Maven__org_htrace_htrace_core_3_0_4.xml │ ├── Maven__org_iq80_snappy_snappy_0_2.xml │ ├── Maven__org_javassist_javassist_3_18_1_GA.xml │ ├── Maven__org_jmock_jmock_2_4_0.xml │ ├── Maven__org_jodd_jodd_core_3_5_2.xml │ ├── Maven__org_json4s_json4s_ast_2_11_3_2_11.xml │ ├── Maven__org_json4s_json4s_core_2_11_3_2_11.xml │ ├── Maven__org_json4s_json4s_jackson_2_11_3_2_11.xml │ ├── Maven__org_mortbay_jetty_jetty_util_6_1_26.xml │ ├── Maven__org_objenesis_objenesis_2_1.xml │ ├── Maven__org_roaringbitmap_RoaringBitmap_0_5_11.xml │ ├── Maven__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_1.xml │ ├── Maven__org_scala_lang_modules_scala_xml_2_11_1_0_1.xml │ ├── Maven__org_scala_lang_scala_compiler_2_11_0.xml │ ├── Maven__org_scala_lang_scala_library_2_11_8.xml │ ├── Maven__org_scala_lang_scala_reflect_2_11_7.xml │ ├── Maven__org_scala_lang_scalap_2_11_0.xml │ ├── Maven__org_scalacheck_scalacheck_1_2.xml │ ├── Maven__org_scalatest_scalatest_0_9_1.xml │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_16.xml │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_16.xml │ ├── Maven__org_slf4j_slf4j_api_1_7_16.xml │ ├── Maven__org_slf4j_slf4j_log4j12_1_7_16.xml │ ├── Maven__org_spark_project_hive_hive_exec_1_2_1_spark2.xml │ ├── Maven__org_spark_project_hive_hive_metastore_1_2_1_spark2.xml │ ├── Maven__org_spark_project_spark_unused_1_0_0.xml │ ├── Maven__org_specs_specs_1_2_5.xml │ ├── Maven__org_tukaani_xz_1_0.xml │ ├── Maven__org_xerial_snappy_snappy_java_1_1_2_6.xml │ ├── Maven__oro_oro_2_0_8.xml │ ├── Maven__stax_stax_api_1_0_1.xml │ ├── Maven__xerces_xercesImpl_2_9_1.xml │ ├── Maven__xml_apis_xml_apis_1_3_04.xml │ └── Maven__xmlenc_xmlenc_0_52.xml ├── misc.xml ├── modules.xml ├── scala_compiler.xml ├── uiDesigner.xml └── vcs.xml ├── README.md ├── StudySpark.iml ├── pic ├── reduce join转为map join.png ├── sample采样倾斜key进行两次join.png └── 随机key实现双重聚合.png ├── pom.xml └── src ├── main ├── java │ ├── META-INF │ │ └── MANIFEST.MF │ └── com │ │ └── yt │ │ └── spark │ │ ├── conf │ │ ├── Configuration.java │ │ └── Constants.java │ │ ├── dao │ │ ├── IAdBlacklistDAO.java │ │ ├── IAdClickTrendDAO.java │ │ ├── IAdProvinceTop3DAO.java │ │ ├── IAdStatDAO.java │ │ ├── IAdUserClickCountDAO.java │ │ ├── IAreaTop3ProductDAO.java │ │ ├── IPageSplitConvertRateDAO.java │ │ ├── ISessionAggrStatDAO.java │ │ ├── ISessionDetailDAO.java │ │ ├── ISessionRandomExtractDAO.java │ │ ├── ITaskDAO.java │ │ ├── ITop10CategoryDAO.java │ │ ├── ITop10SessionDAO.java │ │ ├── factory │ │ │ └── DAOFactory.java │ │ └── impl │ │ │ ├── AdBlacklistDAOImpl.java │ │ │ ├── AdClickTrendDAOImpl.java │ │ │ ├── AdProvinceTop3DAOImpl.java │ │ │ ├── AdStatDAOImpl.java │ │ │ ├── AdUserClickCountDAOImpl.java │ │ │ ├── AreaTop3ProductDAOImpl.java │ │ │ ├── PageSplitConvertRateDAOImpl.java │ │ │ ├── SessionAggrStatDAOImpl.java │ │ │ ├── SessionDetailDAOImpl.java │ │ │ ├── SessionRandomExtractDAOImpl.java │ │ │ ├── TaskDAOImpl.java │ │ │ ├── Top10CategoryDAOImpl.java │ │ │ └── Top10SessionDAOImpl.java │ │ ├── domain │ │ ├── AdBlacklist.java │ │ ├── AdClickTrend.java │ │ ├── AdProvinceTop3.java │ │ ├── AdStat.java │ │ ├── AdUserClickCount.java │ │ ├── AreaTop3Product.java │ │ ├── PageSplitConvertRate.java │ │ ├── SessionAggrStat.java │ │ ├── SessionDetail.java │ │ ├── SessionRandomExtract.java │ │ ├── Task.java │ │ ├── Top10Category.java │ │ └── Top10Session.java │ │ ├── jdbc │ │ └── JDBCHelper.java │ │ ├── model │ │ ├── AdClickTrendQueryResult.java │ │ ├── AdStatQueryResult.java │ │ └── AdUserClickCountQueryResult.java │ │ ├── spark │ │ ├── MockData.java │ │ ├── ad │ │ │ └── AdClickRealTimeStatSpark.java │ │ ├── page │ │ │ └── PageOneStepConvertRateSpark.java │ │ ├── product │ │ │ ├── AreaTop3ProductSpark.java │ │ │ ├── ConcatLongStringUDF.java │ │ │ ├── GetJsonObjectUDF.java │ │ │ ├── GroupConcatDistinctUDAF.java │ │ │ ├── RandomPrefixUDF.java │ │ │ └── RemoveRandomPrefixUDF.java │ │ └── session │ │ │ ├── CategorySortKey.java │ │ │ ├── SessionAggrStatAccumulator.java │ │ │ └── UserVisitSessionAnalyzeSpark.java │ │ └── util │ │ ├── DateUtils.java │ │ ├── NumberUtils.java │ │ ├── ParamUtils.java │ │ ├── SparkUtils.java │ │ ├── StringUtils.java │ │ └── ValidUtils.java ├── resources │ └── my.properties └── scala │ └── com │ └── yt │ └── spark │ ├── App.scala │ └── spark │ └── UserVisitSessionAnalyze.scala └── test └── java └── com └── yt └── spark ├── FastJsonTest.java ├── JDBCTest.java ├── MockData.java ├── Singleton.java ├── conf └── ConfigurationTest.java ├── dao └── impl │ └── TaskDAOImplTest.java └── jdbc └── JDBCHelperTest.java /.idea/codeStyleSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15 | 17 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__antlr_antlr_2_7_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_alibaba_fastjson_1_1_41.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_clearspring_analytics_stream_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_esotericsoftware_kryo_shaded_3_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_esotericsoftware_minlog_1_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_6_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_6_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_6_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_paranamer_2_6_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_scala_2_11_2_6_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_code_findbugs_jsr305_1_3_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_code_gson_gson_2_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_guava_guava_14_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_protobuf_protobuf_java_2_5_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_googlecode_javaewah_JavaEWAH_0_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_jolbox_bonecp_0_8_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_ning_compress_lzf_1_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_sun_jersey_jersey_client_1_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_sun_jersey_jersey_core_1_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_thoughtworks_paranamer_paranamer_2_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_twitter_chill_2_11_0_8_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_twitter_chill_java_0_8_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_twitter_parquet_hadoop_bundle_1_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_univocity_univocity_parsers_2_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_beanutils_commons_beanutils_core_1_8_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_configuration_commons_configuration_1_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_dbcp_commons_dbcp_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_digester_commons_digester_1_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_io_commons_io_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_net_commons_net_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_pool_commons_pool_1_5_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_dropwizard_metrics_metrics_core_3_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_dropwizard_metrics_metrics_graphite_3_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_dropwizard_metrics_metrics_json_3_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_dropwizard_metrics_metrics_jvm_3_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_3_8_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_all_4_0_42_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__it_unimi_dsi_fastutil_7_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_activation_activation_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_jdo_jdo_api_3_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_transaction_jta_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_ws_rs_javax_ws_rs_api_2_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_xml_bind_jaxb_api_2_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javolution_javolution_5_5_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__joda_time_joda_time_2_9_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__junit_junit_4_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__log4j_apache_log4j_extras_1_2_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__log4j_log4j_1_2_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__mysql_mysql_connector_java_5_1_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_hydromatic_eigenbase_properties_1_1_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_java_dev_jets3t_jets3t_0_7_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_jpountz_lz4_lz4_1_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_razorvine_pyrolite_4_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_sf_opencsv_opencsv_2_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_sf_py4j_py4j_0_10_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_antlr_ST4_4_0_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_antlr_antlr4_runtime_4_5_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_antlr_antlr_runtime_3_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_antlr_stringtemplate_3_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_avro_avro_1_7_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_avro_avro_ipc_1_7_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_avro_avro_ipc_tests_1_7_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_avro_avro_mapred_hadoop2_1_7_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_calcite_calcite_avatica_1_2_0_incubating.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_calcite_calcite_core_1_2_0_incubating.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_calcite_calcite_linq4j_1_2_0_incubating.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_compress_1_4_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_crypto_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_math3_3_4_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_curator_curator_client_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_curator_curator_framework_2_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_curator_curator_recipes_2_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_derby_derby_10_10_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_directory_api_api_asn1_api_1_0_0_M20.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_directory_api_api_util_1_0_0_M20.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_directory_server_apacheds_i18n_2_0_0_M15.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_directory_server_apacheds_kerberos_codec_2_0_0_M15.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_annotations_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_auth_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_client_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_common_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_hdfs_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_mapreduce_client_app_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_mapreduce_client_common_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_mapreduce_client_core_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_mapreduce_client_jobclient_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_mapreduce_client_shuffle_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_yarn_api_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_yarn_client_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_yarn_common_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_hadoop_hadoop_yarn_server_common_2_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_ivy_ivy_2_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_parquet_parquet_column_1_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_parquet_parquet_common_1_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_parquet_parquet_encoding_1_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_parquet_parquet_format_2_3_0_incubating.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_parquet_parquet_hadoop_1_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_parquet_parquet_jackson_1_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_catalyst_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_core_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_hive_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_launcher_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_network_common_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_network_shuffle_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_sketch_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_sql_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_streaming_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_streaming_kafka_0_8_assembly_2_10_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_tags_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_spark_spark_unsafe_2_11_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_thrift_libfb303_0_9_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_thrift_libthrift_0_9_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_xbean_xbean_asm5_shaded_4_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_zookeeper_zookeeper_3_4_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_jackson_jackson_jaxrs_1_9_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_jackson_jackson_xc_1_9_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_janino_commons_compiler_3_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_janino_janino_3_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_datanucleus_datanucleus_api_jdo_3_2_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_datanucleus_datanucleus_core_3_2_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_datanucleus_datanucleus_rdbms_3_2_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_fusesource_leveldbjni_leveldbjni_all_1_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_hk2_external_aopalliance_repackaged_2_4_0_b34.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_hk2_external_javax_inject_2_4_0_b34.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_hk2_hk2_api_2_4_0_b34.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_hk2_hk2_locator_2_4_0_b34.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_hk2_hk2_utils_2_4_0_b34.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_hk2_osgi_resource_locator_1_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_jersey_bundles_repackaged_jersey_guava_2_22_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_jersey_containers_jersey_container_servlet_2_22_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_jersey_containers_jersey_container_servlet_core_2_22_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_jersey_core_jersey_client_2_22_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_jersey_core_jersey_common_2_22_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_jersey_core_jersey_server_2_22_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_jersey_media_jersey_media_jaxb_2_22_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_htrace_htrace_core_3_0_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_iq80_snappy_snappy_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jmock_jmock_2_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jodd_jodd_core_3_5_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_json4s_json4s_ast_2_11_3_2_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_json4s_json4s_core_2_11_3_2_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_json4s_json4s_jackson_2_11_3_2_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mortbay_jetty_jetty_util_6_1_26.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_objenesis_objenesis_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_roaringbitmap_RoaringBitmap_0_5_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_scala_lang_modules_scala_xml_2_11_1_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_scala_lang_scala_compiler_2_11_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_scala_lang_scala_library_2_11_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_scala_lang_scala_reflect_2_11_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_scala_lang_scalap_2_11_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_scalacheck_scalacheck_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_scalatest_scalatest_0_9_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_16.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_16.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_16.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_16.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_spark_project_hive_hive_exec_1_2_1_spark2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_spark_project_hive_hive_metastore_1_2_1_spark2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_spark_project_spark_unused_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_specs_specs_1_2_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_tukaani_xz_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_2_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__oro_oro_2_0_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__stax_stax_api_1_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__xerces_xercesImpl_2_9_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__xml_apis_xml_apis_1_3_04.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__xmlenc_xmlenc_0_52.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/scala_compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /pic/reduce join转为map join.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangtong123/StudySpark/6c669c68d3a8e308c1ac42baed11026068af6cd8/pic/reduce join转为map join.png -------------------------------------------------------------------------------- /pic/sample采样倾斜key进行两次join.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangtong123/StudySpark/6c669c68d3a8e308c1ac42baed11026068af6cd8/pic/sample采样倾斜key进行两次join.png -------------------------------------------------------------------------------- /pic/随机key实现双重聚合.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yangtong123/StudySpark/6c669c68d3a8e308c1ac42baed11026068af6cd8/pic/随机key实现双重聚合.png -------------------------------------------------------------------------------- /src/main/java/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Main-Class: com.yt.spark.spark.page.PageOneStepConvertRateSpark 3 | 4 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/conf/Configuration.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.conf; 2 | 3 | import java.io.InputStream; 4 | import java.util.Properties; 5 | 6 | /** 7 | * 配置管理组件 8 | * 9 | * Created by yangtong on 17/5/5. 10 | */ 11 | public class Configuration { 12 | 13 | private static Properties prop = new Properties(); 14 | 15 | static { 16 | try { 17 | InputStream in = Configuration.class 18 | .getClassLoader().getResourceAsStream("my.properties"); 19 | //可以把key value对加载进去了 20 | prop.load(in); 21 | } catch (Exception e) { 22 | e.printStackTrace(); 23 | } 24 | } 25 | 26 | /** 27 | * 返回字符串类型 28 | * @param key 29 | * @return 字符串类型的value 30 | */ 31 | public static String getProperty(String key) { 32 | return prop.getProperty(key); 33 | } 34 | 35 | 36 | /** 37 | * 返回布尔类型 38 | * @param key 39 | * @return 布尔类型的value 40 | */ 41 | public static Boolean getBoolean(String key) { 42 | String value = getProperty(key); 43 | try { 44 | return Boolean.valueOf(value); 45 | } catch (Exception e) { 46 | e.printStackTrace(); 47 | } 48 | return false; 49 | } 50 | 51 | /** 52 | * 返回long类型 53 | * @param key 54 | * @return long类型的value 55 | */ 56 | public static Long getLong(String key) { 57 | String value = getProperty(key); 58 | try { 59 | return Long.valueOf(value); 60 | } catch (Exception e) { 61 | e.printStackTrace(); 62 | } 63 | return 0L; 64 | } 65 | 66 | /** 67 | * 返回int类型 68 | * @param key 69 | * @return 70 | */ 71 | public static Integer getInteger(String key) { 72 | String value = getProperty(key); 73 | try { 74 | return Integer.valueOf(value); 75 | } catch (Exception e) { 76 | e.printStackTrace(); 77 | } 78 | return 0; 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/IAdBlacklistDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.AdBlacklist; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by yangtong on 17/5/22. 9 | */ 10 | public interface IAdBlacklistDAO { 11 | /** 12 | * 批量插入 13 | * @param adBlacklists 14 | */ 15 | void insertBatch(List adBlacklists); 16 | 17 | /** 18 | * 查询所有广告黑名单用户 19 | * @return 20 | */ 21 | List findAll(); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/IAdClickTrendDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.AdClickTrend; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by yangtong on 17/5/23. 9 | */ 10 | public interface IAdClickTrendDAO { 11 | 12 | void updateBatch(List adClickTrends); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/IAdProvinceTop3DAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.AdProvinceTop3; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by yangtong on 17/5/23. 9 | */ 10 | public interface IAdProvinceTop3DAO { 11 | void updateBatch(List adProvinceTop3s); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/IAdStatDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.AdStat; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by yangtong on 17/5/22. 9 | */ 10 | public interface IAdStatDAO { 11 | void updateBatch(List adStats); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/IAdUserClickCountDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.AdUserClickCount; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by yangtong on 17/5/22. 9 | */ 10 | public interface IAdUserClickCountDAO { 11 | /** 12 | * 批量更新 13 | * @param adUserClickCounts 14 | */ 15 | void updateBatch(List adUserClickCounts); 16 | 17 | /** 18 | * 根据多个key查询用户广告点击量 19 | * @param date 20 | * @param userId 21 | * @param adId 22 | * @return 23 | */ 24 | int findClickCountByMultilKey(String date, long userId, long adId); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/IAreaTop3ProductDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.AreaTop3Product; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by yangtong on 17/5/19. 9 | */ 10 | public interface IAreaTop3ProductDAO { 11 | void insertBatch(List areaTop3Products); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/IPageSplitConvertRateDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.PageSplitConvertRate; 4 | 5 | /** 6 | * 页面切片转化率DAO 7 | * Created by yangtong on 17/5/18. 8 | */ 9 | public interface IPageSplitConvertRateDAO { 10 | void insert(PageSplitConvertRate pageSplitConvertRate); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/ISessionAggrStatDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.SessionAggrStat; 4 | 5 | /** 6 | * Created by yangtong on 17/5/10. 7 | */ 8 | public interface ISessionAggrStatDAO { 9 | /** 10 | * session聚合统计DAO 11 | * @param sessionAggrStat 12 | */ 13 | void insert(SessionAggrStat sessionAggrStat); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/ISessionDetailDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.SessionDetail; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * SessionDetailDAO 9 | * Created by yangtong on 17/5/11. 10 | */ 11 | public interface ISessionDetailDAO { 12 | /** 13 | * insert一条明细数据 14 | * @param sessionDetail 15 | */ 16 | void insert(SessionDetail sessionDetail); 17 | 18 | /** 19 | * 批量插入session明细数据 20 | * @param sessionDetails 21 | */ 22 | void insertBatch(List sessionDetails); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/ISessionRandomExtractDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.SessionRandomExtract; 4 | 5 | /** 6 | * session随机抽取DAO 7 | * Created by yangtong on 17/5/11. 8 | */ 9 | public interface ISessionRandomExtractDAO { 10 | 11 | /** 12 | * insert 13 | * @param sessionRandomExtract 14 | */ 15 | void insert(SessionRandomExtract sessionRandomExtract); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/ITaskDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.Task; 4 | 5 | /** 6 | * 任务管理DAO接口 7 | * 8 | * Created by yangtong on 17/5/8. 9 | */ 10 | public interface ITaskDAO { 11 | 12 | /** 13 | * 根据主键查询接口 14 | * @param taskId 15 | * @return Task对象 16 | */ 17 | Task findById(long taskId); 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/ITop10CategoryDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.Top10Category; 4 | 5 | /** 6 | * Created by yangtong on 17/5/12. 7 | */ 8 | public interface ITop10CategoryDAO { 9 | void insert(Top10Category top10Category); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/ITop10SessionDAO.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao; 2 | 3 | import com.yt.spark.domain.Top10Session; 4 | 5 | /** 6 | * Created by yangtong on 17/5/12. 7 | */ 8 | public interface ITop10SessionDAO { 9 | void insert(Top10Session top10Session); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/factory/DAOFactory.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.factory; 2 | 3 | import com.yt.spark.dao.*; 4 | import com.yt.spark.dao.impl.*; 5 | 6 | /** 7 | * Created by yangtong on 17/5/8. 8 | */ 9 | public class DAOFactory { 10 | 11 | public static ITaskDAO getTaskDAO() { 12 | return new TaskDAOImpl(); 13 | } 14 | 15 | public static ISessionAggrStatDAO getSessionAggrStatDAO() { 16 | return new SessionAggrStatDAOImpl(); 17 | } 18 | 19 | public static ISessionRandomExtractDAO getSessionRandomExtractDAO() { 20 | return new SessionRandomExtractDAOImpl(); 21 | } 22 | 23 | public static ISessionDetailDAO getSessionDetailDAO() { 24 | return new SessionDetailDAOImpl(); 25 | } 26 | 27 | public static ITop10CategoryDAO getTop10CategoryDAO() { 28 | return new Top10CategoryDAOImpl(); 29 | } 30 | 31 | public static ITop10SessionDAO getTop10SessionDAO() { 32 | return new Top10SessionDAOImpl(); 33 | } 34 | 35 | public static IPageSplitConvertRateDAO getPageSplitConvertRateDAO() { 36 | return new PageSplitConvertRateDAOImpl(); 37 | } 38 | 39 | public static IAreaTop3ProductDAO getAreaTop3ProductDAO() { 40 | return new AreaTop3ProductDAOImpl(); 41 | } 42 | 43 | public static IAdUserClickCountDAO getAdUserClickCountDAO() { 44 | return new AdUserClickCountDAOImpl(); 45 | } 46 | 47 | public static IAdBlacklistDAO getAdBlacklistDAO() { 48 | return new AdBlacklistDAOImpl(); 49 | } 50 | 51 | public static IAdStatDAO getAdStatDAO() { 52 | return new AdStatDAOImpl(); 53 | } 54 | 55 | public static IAdProvinceTop3DAO getAdProvinceTop3DAO() { 56 | return new AdProvinceTop3DAOImpl(); 57 | } 58 | 59 | public static IAdClickTrendDAO getAdClickTrendDAO() { 60 | return new AdClickTrendDAOImpl(); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/AdBlacklistDAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.IAdBlacklistDAO; 4 | import com.yt.spark.domain.AdBlacklist; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | 7 | import java.sql.ResultSet; 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | /** 12 | * Created by yangtong on 17/5/22. 13 | */ 14 | public class AdBlacklistDAOImpl implements IAdBlacklistDAO { 15 | @Override 16 | public void insertBatch(List adBlacklists) { 17 | String sql = "INSERT INTO ad_blacklist VALUES(?)"; 18 | 19 | List paramsList = new ArrayList<>(); 20 | 21 | for (AdBlacklist adBlacklist : adBlacklists) { 22 | Object[] params = new Object[] {adBlacklist.getUserId()}; 23 | paramsList.add(params); 24 | } 25 | 26 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 27 | jdbcHelper.executeBatch(sql, paramsList); 28 | } 29 | 30 | @Override 31 | public List findAll() { 32 | String sql = "SELECT * FROM ad_blacklist"; 33 | 34 | final List adBlacklists = new ArrayList<>(); 35 | 36 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 37 | 38 | jdbcHelper.executeQuery(sql, null, new JDBCHelper.QueryCallBack() { 39 | @Override 40 | public void process(ResultSet rs) throws Exception { 41 | while (rs.next()) { 42 | long userId = Long.valueOf(String.valueOf(rs.getInt(1))); 43 | 44 | AdBlacklist adBlacklist = new AdBlacklist(); 45 | adBlacklist.setUserId(userId); 46 | 47 | adBlacklists.add(adBlacklist); 48 | } 49 | } 50 | }); 51 | 52 | return adBlacklists; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/AdProvinceTop3DAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.IAdProvinceTop3DAO; 4 | import com.yt.spark.domain.AdProvinceTop3; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | /** 11 | * Created by yangtong on 17/5/23. 12 | */ 13 | public class AdProvinceTop3DAOImpl implements IAdProvinceTop3DAO { 14 | @Override 15 | public void updateBatch(List adProvinceTop3s) { 16 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 17 | 18 | // 首先进行去重 19 | List dateProvinces = new ArrayList<>(); 20 | 21 | for (AdProvinceTop3 adProvinceTop3 : adProvinceTop3s) { 22 | String date = adProvinceTop3.getDate(); 23 | String province = adProvinceTop3.getProvince(); 24 | 25 | String key = date + "_" + province; 26 | 27 | if (!dateProvinces.contains(key)) { 28 | dateProvinces.add(key); 29 | } 30 | } 31 | 32 | // 批量删除 33 | String deleteSQL = "DELETE FROM ad_province_top3 WHERE date = ? AND province = ?"; 34 | List deleteParamsList = new ArrayList<>(); 35 | for (String dateProvince : dateProvinces) { 36 | String[] dateProvinceSplited = dateProvince.split("_"); 37 | Object[] params = new Object[] { 38 | dateProvinceSplited[0], 39 | dateProvinceSplited[1]}; 40 | 41 | deleteParamsList.add(params); 42 | } 43 | jdbcHelper.executeBatch(deleteSQL, deleteParamsList); 44 | 45 | // 批量插入 46 | String insertSQL = "INSERT INTO ad_province_top3 VALUES(?,?,?,?)"; 47 | List insertParamsList = new ArrayList<>(); 48 | for (AdProvinceTop3 adProvinceTop3 : adProvinceTop3s) { 49 | Object[] params = new Object[] { 50 | adProvinceTop3.getDate(), 51 | adProvinceTop3.getProvince(), 52 | adProvinceTop3.getAdId(), 53 | adProvinceTop3.getClickCount()}; 54 | 55 | insertParamsList.add(params); 56 | } 57 | jdbcHelper.executeBatch(insertSQL, insertParamsList); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/AdStatDAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.IAdStatDAO; 4 | import com.yt.spark.domain.AdStat; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | import com.yt.spark.model.AdStatQueryResult; 7 | 8 | import java.sql.ResultSet; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | /** 13 | * Created by yangtong on 17/5/22. 14 | */ 15 | public class AdStatDAOImpl implements IAdStatDAO { 16 | @Override 17 | public void updateBatch(List adStats) { 18 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 19 | 20 | List insertAdStats = new ArrayList<>(); 21 | List updateAdStats = new ArrayList<>(); 22 | 23 | String selectSQL = "SELECT count(*) FROM ad_stat " + 24 | "WHERE date = ? " + 25 | "AND province = ? " + 26 | "AND city = ? " + 27 | "AND ad_id = ? "; 28 | 29 | for (AdStat adStat : adStats) { 30 | final AdStatQueryResult queryResult = new AdStatQueryResult(); 31 | 32 | Object[] params = new Object[] { 33 | adStat.getDate(), 34 | adStat.getProvince(), 35 | adStat.getCity(), 36 | adStat.getAdId()}; 37 | 38 | jdbcHelper.executeQuery(selectSQL, params, new JDBCHelper.QueryCallBack() { 39 | @Override 40 | public void process(ResultSet rs) throws Exception { 41 | while (rs.next()) { 42 | int clickCount = rs.getInt(1); 43 | queryResult.setCount(clickCount); 44 | } 45 | } 46 | }); 47 | 48 | int clickCount = queryResult.getCount(); 49 | 50 | if (clickCount > 0) { 51 | updateAdStats.add(adStat); 52 | } else { 53 | insertAdStats.add(adStat); 54 | } 55 | } 56 | 57 | // 批量插入 58 | String insertSQL = "INSERT INTO ad_stat VALUES(?,?,?,?,?)"; 59 | List insertParamsList = new ArrayList<>(); 60 | 61 | for (AdStat adStat : insertAdStats) { 62 | Object[] params = new Object[] { 63 | adStat.getDate(), 64 | adStat.getProvince(), 65 | adStat.getCity(), 66 | adStat.getAdId(), 67 | adStat.getClickCount()}; 68 | 69 | insertParamsList.add(params); 70 | } 71 | 72 | jdbcHelper.executeBatch(insertSQL, insertParamsList); 73 | 74 | // 批量更新 75 | String updateSQL = "UPDATE ad_stat SET click_count = ? " + 76 | "WHERE date = ? " + 77 | "AND province = ? " + 78 | "AND city = ? " + 79 | "AND ad_id = ? "; 80 | List updateParamsList = new ArrayList<>(); 81 | 82 | for (AdStat adStat : updateAdStats) { 83 | Object[] params = new Object[] { 84 | adStat.getClickCount(), 85 | adStat.getDate(), 86 | adStat.getProvince(), 87 | adStat.getCity(), 88 | adStat.getAdId()}; 89 | 90 | updateParamsList.add(params); 91 | } 92 | 93 | jdbcHelper.executeBatch(updateSQL, updateParamsList); 94 | 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/AreaTop3ProductDAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.IAreaTop3ProductDAO; 4 | import com.yt.spark.domain.AreaTop3Product; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | /** 11 | * Created by yangtong on 17/5/19. 12 | */ 13 | public class AreaTop3ProductDAOImpl implements IAreaTop3ProductDAO { 14 | @Override 15 | public void insertBatch(List areaTop3Products) { 16 | String sql = "insert into area_top3_product values(?,?,?,?,?,?,?,?)"; 17 | 18 | List paramsList = new ArrayList<>(); 19 | 20 | for (AreaTop3Product areaTop3Product : areaTop3Products) { 21 | Object[] params = new Object[8]; 22 | 23 | params[0] = areaTop3Product.getTaskId(); 24 | params[1] = areaTop3Product.getArea(); 25 | params[2] = areaTop3Product.getAreaLevel(); 26 | params[3] = areaTop3Product.getProductId(); 27 | params[4] = areaTop3Product.getCityInfos(); 28 | params[5] = areaTop3Product.getClickCount(); 29 | params[6] = areaTop3Product.getProductName(); 30 | params[7] = areaTop3Product.getProductStatus(); 31 | 32 | paramsList.add(params); 33 | } 34 | 35 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 36 | jdbcHelper.executeBatch(sql, paramsList); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/PageSplitConvertRateDAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.IPageSplitConvertRateDAO; 4 | import com.yt.spark.domain.PageSplitConvertRate; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | 7 | /** 8 | * Created by yangtong on 17/5/18. 9 | */ 10 | public class PageSplitConvertRateDAOImpl implements IPageSplitConvertRateDAO { 11 | @Override 12 | public void insert(PageSplitConvertRate pageSplitConvertRate) { 13 | String sql = "insert into page_split_convert_rate values(?,?)"; 14 | 15 | Object[] params = new Object[] { 16 | pageSplitConvertRate.getTaskid(), 17 | pageSplitConvertRate.getConvertRate()}; 18 | 19 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 20 | jdbcHelper.executeUpdate(sql, params); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/SessionAggrStatDAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.ISessionAggrStatDAO; 4 | import com.yt.spark.domain.SessionAggrStat; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | 7 | /** 8 | * Session聚合统计实现类 9 | * Created by yangtong on 17/5/10. 10 | */ 11 | public class SessionAggrStatDAOImpl implements ISessionAggrStatDAO { 12 | @Override 13 | public void insert(SessionAggrStat sessionAggrStat) { 14 | String sql = "insert into session_aggr_stat values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 15 | Object[] params = new Object[] { 16 | sessionAggrStat.getTaskid(), 17 | sessionAggrStat.getSession_count(), 18 | sessionAggrStat.getVisit_length_1s_3s_ratio(), 19 | sessionAggrStat.getVisit_length_4s_6s_ratio(), 20 | sessionAggrStat.getVisit_length_7s_9s_ratio(), 21 | sessionAggrStat.getVisit_length_10s_30s_ratio(), 22 | sessionAggrStat.getVisit_length_30s_60s_ratio(), 23 | sessionAggrStat.getVisit_length_1m_3m_ratio(), 24 | sessionAggrStat.getVisit_length_3m_10m_ratio(), 25 | sessionAggrStat.getVisit_length_10m_30m_ratio(), 26 | sessionAggrStat.getVisit_length_30m_ratio(), 27 | 28 | sessionAggrStat.getStep_length_1_3_ratio(), 29 | sessionAggrStat.getStep_length_4_6_ratio(), 30 | sessionAggrStat.getStep_length_7_9_ratio(), 31 | sessionAggrStat.getStep_length_10_30_ratio(), 32 | sessionAggrStat.getStep_length_30_60_ratio(), 33 | sessionAggrStat.getStep_length_60_ratio()}; 34 | 35 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 36 | 37 | jdbcHelper.executeUpdate(sql, params); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/SessionDetailDAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.ISessionDetailDAO; 4 | import com.yt.spark.domain.SessionDetail; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | /** 11 | * Created by yangtong on 17/5/11. 12 | */ 13 | public class SessionDetailDAOImpl implements ISessionDetailDAO { 14 | @Override 15 | public void insert(SessionDetail sessionDetail) { 16 | String sql = "insert into session_detail values(?,?,?,?,?,?,?,?,?,?,?,?)"; 17 | Object[] params = new Object[] { 18 | sessionDetail.getTaskid(), 19 | sessionDetail.getUserid(), 20 | sessionDetail.getSessionid(), 21 | sessionDetail.getPageid(), 22 | sessionDetail.getActionTime(), 23 | sessionDetail.getSearchKeywords(), 24 | sessionDetail.getClickCategoryId(), 25 | sessionDetail.getClickProductId(), 26 | sessionDetail.getOrderCategoryIds(), 27 | sessionDetail.getOrderProductIds(), 28 | sessionDetail.getPayCategoryIds(), 29 | sessionDetail.getPayProductIds()}; 30 | 31 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 32 | jdbcHelper.executeUpdate(sql, params); 33 | } 34 | 35 | @Override 36 | public void insertBatch(List sessionDetails) { 37 | String sql = "insert into session_detail values(?,?,?,?,?,?,?,?,?,?,?,?)"; 38 | 39 | List paramsList = new ArrayList<>(); 40 | for (SessionDetail sessionDetail : sessionDetails) { 41 | Object[] params = new Object[] { 42 | sessionDetail.getTaskid(), 43 | sessionDetail.getUserid(), 44 | sessionDetail.getSessionid(), 45 | sessionDetail.getPageid(), 46 | sessionDetail.getActionTime(), 47 | sessionDetail.getSearchKeywords(), 48 | sessionDetail.getClickCategoryId(), 49 | sessionDetail.getClickProductId(), 50 | sessionDetail.getOrderCategoryIds(), 51 | sessionDetail.getOrderProductIds(), 52 | sessionDetail.getPayCategoryIds(), 53 | sessionDetail.getPayProductIds()}; 54 | 55 | paramsList.add(params); 56 | } 57 | 58 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 59 | jdbcHelper.executeBatch(sql, paramsList); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/SessionRandomExtractDAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.ISessionRandomExtractDAO; 4 | import com.yt.spark.domain.SessionRandomExtract; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | 7 | /** 8 | * Created by yangtong on 17/5/11. 9 | */ 10 | public class SessionRandomExtractDAOImpl implements ISessionRandomExtractDAO { 11 | @Override 12 | public void insert(SessionRandomExtract sessionRandomExtract) { 13 | String sql = "insert into session_random_extract values(?,?,?,?,?)"; 14 | Object[] params = new Object[] { 15 | sessionRandomExtract.getTaskid(), 16 | sessionRandomExtract.getSessionid(), 17 | sessionRandomExtract.getStartTime(), 18 | sessionRandomExtract.getSearchKeywords(), 19 | sessionRandomExtract.getClickCategoryIds() 20 | }; 21 | 22 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 23 | jdbcHelper.executeUpdate(sql, params); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/TaskDAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.ITaskDAO; 4 | import com.yt.spark.domain.Task; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | 7 | import java.sql.ResultSet; 8 | 9 | /** 10 | * 任务管理DAO实现类 11 | * 12 | * Created by yangtong on 17/5/8. 13 | */ 14 | public class TaskDAOImpl implements ITaskDAO { 15 | /** 16 | * 根据主键查询任务 17 | * @param taskId Task主键 18 | * @return Task 19 | */ 20 | @Override 21 | public Task findById(long taskId) { 22 | final Task task = new Task(); //jdk8 可以不用final,会自动变成final 23 | 24 | String sql = "select * from task where task_id = ?"; 25 | Object[] params = new Object[] {taskId}; 26 | 27 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 28 | jdbcHelper.executeQuery( 29 | sql, 30 | params, 31 | new JDBCHelper.QueryCallBack() { 32 | @Override 33 | public void process(ResultSet rs) throws Exception { 34 | if (rs.next()) { 35 | long taskId = rs.getLong(1); 36 | String taskName = rs.getString(2); 37 | String createTime = rs.getString(3); 38 | String startTime = rs.getString(4); 39 | String finishTime = rs.getString(5); 40 | String taskType = rs.getString(6); 41 | String taskStatus = rs.getString(7); 42 | String taskParams = rs.getString(8); 43 | 44 | task.setTaskId(taskId); 45 | task.setTaskName(taskName); 46 | task.setCreateTime(createTime); 47 | task.setStartTime(startTime); 48 | task.setFinishTime(finishTime); 49 | task.setTaskType(taskType); 50 | task.setTaskStatus(taskStatus); 51 | task.setTaskParam(taskParams); 52 | } 53 | } 54 | }); 55 | 56 | return task; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/Top10CategoryDAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.ITop10CategoryDAO; 4 | import com.yt.spark.domain.Top10Category; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | 7 | /** 8 | * Created by yangtong on 17/5/12. 9 | */ 10 | public class Top10CategoryDAOImpl implements ITop10CategoryDAO { 11 | @Override 12 | public void insert(Top10Category top10Category) { 13 | String sql = "insert into top10_category values(?,?,?,?,?)"; 14 | Object[] params = new Object[] { 15 | top10Category.getTaskid(), 16 | top10Category.getCategoryid(), 17 | top10Category.getClickCount(), 18 | top10Category.getOrderCount(), 19 | top10Category.getPayCount()}; 20 | 21 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 22 | jdbcHelper.executeUpdate(sql, params); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/dao/impl/Top10SessionDAOImpl.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import com.yt.spark.dao.ITop10SessionDAO; 4 | import com.yt.spark.domain.Top10Session; 5 | import com.yt.spark.jdbc.JDBCHelper; 6 | 7 | /** 8 | * Created by yangtong on 17/5/12. 9 | */ 10 | public class Top10SessionDAOImpl implements ITop10SessionDAO { 11 | @Override 12 | public void insert(Top10Session top10Session) { 13 | String sql = "insert into top10_category_session values(?,?,?,?)"; 14 | Object[] params = new Object[] { 15 | top10Session.getTaskid(), 16 | top10Session.getCategoryid(), 17 | top10Session.getSessionid(), 18 | top10Session.getClickCount() 19 | }; 20 | 21 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 22 | jdbcHelper.executeUpdate(sql, params); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/AdBlacklist.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Created by yangtong on 17/5/22. 5 | */ 6 | public class AdBlacklist { 7 | private long userId; 8 | 9 | public long getUserId() { 10 | return userId; 11 | } 12 | 13 | public void setUserId(long userId) { 14 | this.userId = userId; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/AdClickTrend.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Created by yangtong on 17/5/23. 5 | */ 6 | public class AdClickTrend { 7 | private String date; 8 | private String hour; 9 | private String minute; 10 | private long adId; 11 | private long clickCount; 12 | 13 | public String getDate() { 14 | return date; 15 | } 16 | 17 | public void setDate(String date) { 18 | this.date = date; 19 | } 20 | 21 | public String getHour() { 22 | return hour; 23 | } 24 | 25 | public void setHour(String hour) { 26 | this.hour = hour; 27 | } 28 | 29 | public String getMinute() { 30 | return minute; 31 | } 32 | 33 | public void setMinute(String minute) { 34 | this.minute = minute; 35 | } 36 | 37 | public long getAdId() { 38 | return adId; 39 | } 40 | 41 | public void setAdId(long adId) { 42 | this.adId = adId; 43 | } 44 | 45 | public long getClickCount() { 46 | return clickCount; 47 | } 48 | 49 | public void setClickCount(long clickCount) { 50 | this.clickCount = clickCount; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/AdProvinceTop3.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Created by yangtong on 17/5/23. 5 | */ 6 | public class AdProvinceTop3 { 7 | private String date; 8 | private String province; 9 | private long adId; 10 | private long clickCount; 11 | 12 | public String getDate() { 13 | return date; 14 | } 15 | 16 | public void setDate(String date) { 17 | this.date = date; 18 | } 19 | 20 | public String getProvince() { 21 | return province; 22 | } 23 | 24 | public void setProvince(String province) { 25 | this.province = province; 26 | } 27 | 28 | public long getAdId() { 29 | return adId; 30 | } 31 | 32 | public void setAdId(long adId) { 33 | this.adId = adId; 34 | } 35 | 36 | public long getClickCount() { 37 | return clickCount; 38 | } 39 | 40 | public void setClickCount(long clickCount) { 41 | this.clickCount = clickCount; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/AdStat.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Created by yangtong on 17/5/22. 5 | */ 6 | public class AdStat { 7 | private String date; 8 | private String province; 9 | private String city; 10 | private Long adId; 11 | private Long clickCount; 12 | 13 | public String getDate() { 14 | return date; 15 | } 16 | 17 | public void setDate(String date) { 18 | this.date = date; 19 | } 20 | 21 | public String getProvince() { 22 | return province; 23 | } 24 | 25 | public void setProvince(String province) { 26 | this.province = province; 27 | } 28 | 29 | public String getCity() { 30 | return city; 31 | } 32 | 33 | public void setCity(String city) { 34 | this.city = city; 35 | } 36 | 37 | public Long getAdId() { 38 | return adId; 39 | } 40 | 41 | public void setAdId(Long adId) { 42 | this.adId = adId; 43 | } 44 | 45 | public Long getClickCount() { 46 | return clickCount; 47 | } 48 | 49 | public void setClickCount(Long clickCount) { 50 | this.clickCount = clickCount; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/AdUserClickCount.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Created by yangtong on 17/5/22. 5 | */ 6 | public class AdUserClickCount { 7 | private String date; 8 | private long userId; 9 | private long adId; 10 | private long clickCount; 11 | 12 | public String getDate() { 13 | return date; 14 | } 15 | 16 | public void setDate(String date) { 17 | this.date = date; 18 | } 19 | 20 | public long getUserId() { 21 | return userId; 22 | } 23 | 24 | public void setUserId(long userId) { 25 | this.userId = userId; 26 | } 27 | 28 | public long getAdId() { 29 | return adId; 30 | } 31 | 32 | public void setAdId(long adId) { 33 | this.adId = adId; 34 | } 35 | 36 | public long getClickCount() { 37 | return clickCount; 38 | } 39 | 40 | public void setClickCount(long clickCount) { 41 | this.clickCount = clickCount; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/AreaTop3Product.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Created by yangtong on 17/5/19. 5 | */ 6 | public class AreaTop3Product { 7 | private Long taskId; 8 | private String area; 9 | private String areaLevel; 10 | private Long productId; 11 | private String cityInfos; 12 | private Long clickCount; 13 | private String productName; 14 | private String productStatus; 15 | 16 | public Long getTaskId() { 17 | return taskId; 18 | } 19 | 20 | public void setTaskId(Long taskId) { 21 | this.taskId = taskId; 22 | } 23 | 24 | public String getArea() { 25 | return area; 26 | } 27 | 28 | public void setArea(String area) { 29 | this.area = area; 30 | } 31 | 32 | public String getAreaLevel() { 33 | return areaLevel; 34 | } 35 | 36 | public void setAreaLevel(String areaLevel) { 37 | this.areaLevel = areaLevel; 38 | } 39 | 40 | public Long getProductId() { 41 | return productId; 42 | } 43 | 44 | public void setProductId(Long productId) { 45 | this.productId = productId; 46 | } 47 | 48 | public String getCityInfos() { 49 | return cityInfos; 50 | } 51 | 52 | public void setCityInfos(String cityInfos) { 53 | this.cityInfos = cityInfos; 54 | } 55 | 56 | public Long getClickCount() { 57 | return clickCount; 58 | } 59 | 60 | public void setClickCount(Long clickCount) { 61 | this.clickCount = clickCount; 62 | } 63 | 64 | public String getProductName() { 65 | return productName; 66 | } 67 | 68 | public void setProductName(String productName) { 69 | this.productName = productName; 70 | } 71 | 72 | public String getProductStatus() { 73 | return productStatus; 74 | } 75 | 76 | public void setProductStatus(String productStatus) { 77 | this.productStatus = productStatus; 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/PageSplitConvertRate.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Created by yangtong on 17/5/18. 5 | */ 6 | public class PageSplitConvertRate { 7 | private long taskid; 8 | private String convertRate; 9 | 10 | public long getTaskid() { 11 | return taskid; 12 | } 13 | 14 | public void setTaskid(long taskid) { 15 | this.taskid = taskid; 16 | } 17 | 18 | public String getConvertRate() { 19 | return convertRate; 20 | } 21 | 22 | public void setConvertRate(String convertRate) { 23 | this.convertRate = convertRate; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/SessionDetail.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Created by yangtong on 17/5/11. 5 | */ 6 | public class SessionDetail { 7 | private long taskid; 8 | private long userid; 9 | private String sessionid; 10 | private long pageid; 11 | private String actionTime; 12 | private String searchKeywords; 13 | private long clickCategoryId; 14 | private long clickProductId; 15 | private String orderCategoryIds; 16 | private String orderProductIds; 17 | private String payCategoryIds; 18 | private String payProductIds; 19 | 20 | public long getTaskid() { 21 | return taskid; 22 | } 23 | 24 | public void setTaskid(long taskid) { 25 | this.taskid = taskid; 26 | } 27 | 28 | public long getUserid() { 29 | return userid; 30 | } 31 | 32 | public void setUserid(long userid) { 33 | this.userid = userid; 34 | } 35 | 36 | public String getSessionid() { 37 | return sessionid; 38 | } 39 | 40 | public void setSessionid(String sessionid) { 41 | this.sessionid = sessionid; 42 | } 43 | 44 | public long getPageid() { 45 | return pageid; 46 | } 47 | 48 | public void setPageid(long pageid) { 49 | this.pageid = pageid; 50 | } 51 | 52 | public String getActionTime() { 53 | return actionTime; 54 | } 55 | 56 | public void setActionTime(String actionTime) { 57 | this.actionTime = actionTime; 58 | } 59 | 60 | public String getSearchKeywords() { 61 | return searchKeywords; 62 | } 63 | 64 | public void setSearchKeywords(String searchKeywords) { 65 | this.searchKeywords = searchKeywords; 66 | } 67 | 68 | public long getClickCategoryId() { 69 | return clickCategoryId; 70 | } 71 | 72 | public void setClickCategoryId(long clickCategoryId) { 73 | this.clickCategoryId = clickCategoryId; 74 | } 75 | 76 | public long getClickProductId() { 77 | return clickProductId; 78 | } 79 | 80 | public void setClickProductId(long clickProductId) { 81 | this.clickProductId = clickProductId; 82 | } 83 | 84 | public String getOrderCategoryIds() { 85 | return orderCategoryIds; 86 | } 87 | 88 | public void setOrderCategoryIds(String orderCategoryIds) { 89 | this.orderCategoryIds = orderCategoryIds; 90 | } 91 | 92 | public String getOrderProductIds() { 93 | return orderProductIds; 94 | } 95 | 96 | public void setOrderProductIds(String orderProductIds) { 97 | this.orderProductIds = orderProductIds; 98 | } 99 | 100 | public String getPayCategoryIds() { 101 | return payCategoryIds; 102 | } 103 | 104 | public void setPayCategoryIds(String payCategoryIds) { 105 | this.payCategoryIds = payCategoryIds; 106 | } 107 | 108 | public String getPayProductIds() { 109 | return payProductIds; 110 | } 111 | 112 | public void setPayProductIds(String payProductIds) { 113 | this.payProductIds = payProductIds; 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/SessionRandomExtract.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Session随机抽取 5 | * Created by yangtong on 17/5/11. 6 | */ 7 | public class SessionRandomExtract { 8 | private long taskid; 9 | private String sessionid; 10 | private String startTime; 11 | private String searchKeywords; 12 | private String clickCategoryIds; 13 | 14 | public long getTaskid() { 15 | return taskid; 16 | } 17 | 18 | public void setTaskid(long taskid) { 19 | this.taskid = taskid; 20 | } 21 | 22 | public String getSessionid() { 23 | return sessionid; 24 | } 25 | 26 | public void setSessionid(String sessionid) { 27 | this.sessionid = sessionid; 28 | } 29 | 30 | public String getStartTime() { 31 | return startTime; 32 | } 33 | 34 | public void setStartTime(String startTime) { 35 | this.startTime = startTime; 36 | } 37 | 38 | public String getSearchKeywords() { 39 | return searchKeywords; 40 | } 41 | 42 | public void setSearchKeywords(String searchKeywords) { 43 | this.searchKeywords = searchKeywords; 44 | } 45 | 46 | public String getClickCategoryIds() { 47 | return clickCategoryIds; 48 | } 49 | 50 | public void setClickCategoryIds(String clickCategoryIds) { 51 | this.clickCategoryIds = clickCategoryIds; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/Task.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by yangtong on 17/5/8. 7 | */ 8 | public class Task implements Serializable { 9 | 10 | private long taskId; 11 | private String taskName; 12 | private String createTime; 13 | private String startTime; 14 | private String finishTime; 15 | private String taskType; 16 | private String taskStatus; 17 | private String taskParam; 18 | 19 | 20 | 21 | public long getTaskId() { 22 | return taskId; 23 | } 24 | 25 | public void setTaskId(long taskId) { 26 | this.taskId = taskId; 27 | } 28 | 29 | public String getTaskName() { 30 | return taskName; 31 | } 32 | 33 | public void setTaskName(String taskName) { 34 | this.taskName = taskName; 35 | } 36 | 37 | public String getCreateTime() { 38 | return createTime; 39 | } 40 | 41 | public void setCreateTime(String createTime) { 42 | this.createTime = createTime; 43 | } 44 | 45 | public String getStartTime() { 46 | return startTime; 47 | } 48 | 49 | public void setStartTime(String startTime) { 50 | this.startTime = startTime; 51 | } 52 | 53 | public String getFinishTime() { 54 | return finishTime; 55 | } 56 | 57 | public void setFinishTime(String finishTime) { 58 | this.finishTime = finishTime; 59 | } 60 | 61 | public String getTaskType() { 62 | return taskType; 63 | } 64 | 65 | public void setTaskType(String taskType) { 66 | this.taskType = taskType; 67 | } 68 | 69 | public String getTaskStatus() { 70 | return taskStatus; 71 | } 72 | 73 | public void setTaskStatus(String taskStatus) { 74 | this.taskStatus = taskStatus; 75 | } 76 | 77 | public String getTaskParam() { 78 | return taskParam; 79 | } 80 | 81 | public void setTaskParam(String taskParam) { 82 | this.taskParam = taskParam; 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/Top10Category.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Created by yangtong on 17/5/12. 5 | */ 6 | public class Top10Category { 7 | private long taskid; 8 | private long categoryid; 9 | private long clickCount; 10 | private long orderCount; 11 | private long payCount; 12 | 13 | public long getTaskid() { 14 | return taskid; 15 | } 16 | 17 | public void setTaskid(long taskid) { 18 | this.taskid = taskid; 19 | } 20 | 21 | public long getCategoryid() { 22 | return categoryid; 23 | } 24 | 25 | public void setCategoryid(long categoryid) { 26 | this.categoryid = categoryid; 27 | } 28 | 29 | public long getClickCount() { 30 | return clickCount; 31 | } 32 | 33 | public void setClickCount(long clickCount) { 34 | this.clickCount = clickCount; 35 | } 36 | 37 | public long getOrderCount() { 38 | return orderCount; 39 | } 40 | 41 | public void setOrderCount(long orderCount) { 42 | this.orderCount = orderCount; 43 | } 44 | 45 | public long getPayCount() { 46 | return payCount; 47 | } 48 | 49 | public void setPayCount(long payCount) { 50 | this.payCount = payCount; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/domain/Top10Session.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.domain; 2 | 3 | /** 4 | * Created by yangtong on 17/5/12. 5 | */ 6 | public class Top10Session { 7 | private long taskid; 8 | private long categoryid; 9 | private String sessionid; 10 | private long clickCount; 11 | 12 | public long getTaskid() { 13 | return taskid; 14 | } 15 | 16 | public void setTaskid(long taskid) { 17 | this.taskid = taskid; 18 | } 19 | 20 | public long getCategoryid() { 21 | return categoryid; 22 | } 23 | 24 | public void setCategoryid(long categoryid) { 25 | this.categoryid = categoryid; 26 | } 27 | 28 | public String getSessionid() { 29 | return sessionid; 30 | } 31 | 32 | public void setSessionid(String sessionid) { 33 | this.sessionid = sessionid; 34 | } 35 | 36 | public long getClickCount() { 37 | return clickCount; 38 | } 39 | 40 | public void setClickCount(long clickCount) { 41 | this.clickCount = clickCount; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/model/AdClickTrendQueryResult.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.model; 2 | 3 | /** 4 | * Created by yangtong on 17/5/22. 5 | */ 6 | public class AdClickTrendQueryResult { 7 | private int count; 8 | 9 | public int getCount() { 10 | return count; 11 | } 12 | 13 | public void setCount(int count) { 14 | this.count = count; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/model/AdStatQueryResult.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.model; 2 | 3 | /** 4 | * Created by yangtong on 17/5/22. 5 | */ 6 | public class AdStatQueryResult { 7 | private int count; 8 | 9 | public int getCount() { 10 | return count; 11 | } 12 | 13 | public void setCount(int count) { 14 | this.count = count; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/model/AdUserClickCountQueryResult.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.model; 2 | 3 | /** 4 | * 用户点击计数查询结果 5 | * Created by yangtong on 17/5/22. 6 | */ 7 | public class AdUserClickCountQueryResult { 8 | private int count; 9 | 10 | public int getCount() { 11 | return count; 12 | } 13 | 14 | public void setCount(int count) { 15 | this.count = count; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/spark/product/ConcatLongStringUDF.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.spark.product; 2 | 3 | import org.apache.spark.sql.api.java.UDF3; 4 | 5 | /** 6 | * 将两个字段拼接起来,用指定的分隔符 7 | * Created by yangtong on 17/5/19. 8 | */ 9 | public class ConcatLongStringUDF implements UDF3 { 10 | @Override 11 | public String call(Long v1, String v2, String split) throws Exception { 12 | return String.valueOf(v1) + split + v2; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/spark/product/GetJsonObjectUDF.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.spark.product; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import org.apache.spark.sql.api.java.UDF2; 5 | 6 | /** 7 | * Created by yangtong on 17/5/19. 8 | */ 9 | public class GetJsonObjectUDF implements UDF2 { 10 | @Override 11 | public String call(String json, String field) throws Exception { 12 | try { 13 | JSONObject jsonObject = JSONObject.parseObject(json); 14 | return jsonObject.getString(field); 15 | } catch (Exception e) { 16 | e.printStackTrace(); 17 | } 18 | 19 | return null; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/spark/product/RandomPrefixUDF.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.spark.product; 2 | 3 | import org.apache.spark.sql.api.java.UDF2; 4 | 5 | import java.util.Random; 6 | 7 | /** 8 | * Created by yangtong on 17/5/21. 9 | */ 10 | public class RandomPrefixUDF implements UDF2 { 11 | @Override 12 | public String call(String str, Integer num) throws Exception { 13 | Random random = new Random(); 14 | return random.nextInt(num) + "_" + str; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/spark/product/RemoveRandomPrefixUDF.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.spark.product; 2 | 3 | import org.apache.spark.sql.api.java.UDF1; 4 | 5 | /** 6 | * Created by yangtong on 17/5/21. 7 | */ 8 | public class RemoveRandomPrefixUDF implements UDF1 { 9 | @Override 10 | public String call(String s) throws Exception { 11 | return s.split("_")[1]; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/util/NumberUtils.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.util; 2 | 3 | import java.math.BigDecimal; 4 | 5 | /** 6 | * 数字格工具类 7 | * @author Administrator 8 | * 9 | */ 10 | public class NumberUtils { 11 | 12 | /** 13 | * 格式化小数 14 | * @param num 浮点数 15 | * @param scale 四舍五入的位数 16 | * @return 格式化小数 17 | */ 18 | public static double formatDouble(double num, int scale) { 19 | BigDecimal bd = new BigDecimal(num); 20 | return bd.setScale(scale, BigDecimal.ROUND_HALF_UP).doubleValue(); 21 | } 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/util/ParamUtils.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.util; 2 | 3 | import com.alibaba.fastjson.JSONArray; 4 | import com.alibaba.fastjson.JSONObject; 5 | import com.yt.spark.conf.Configuration; 6 | import com.yt.spark.conf.Constants; 7 | 8 | /** 9 | * 参数工具类 10 | * @author Administrator 11 | * 12 | */ 13 | public class ParamUtils { 14 | 15 | /** 16 | * 从命令行参数中提取任务id 17 | * @param args 命令行参数 18 | * @return 任务id 19 | */ 20 | public static Long getTaskIdFromArgs(String[] args, String taskType) { 21 | boolean local = Configuration.getBoolean(Constants.SPARK_LOCAL); 22 | 23 | if(local) { 24 | return Configuration.getLong(taskType); 25 | } else { 26 | try { 27 | if(args != null && args.length > 0) { 28 | return Long.valueOf(args[0]); 29 | } 30 | } catch (Exception e) { 31 | e.printStackTrace(); 32 | } 33 | } 34 | return null; 35 | } 36 | 37 | /** 38 | * 从JSON对象中提取参数 39 | * @param jsonObject JSON对象 40 | * @return 参数 41 | */ 42 | public static String getParam(JSONObject jsonObject, String field) { 43 | JSONArray jsonArray = jsonObject.getJSONArray(field); 44 | if(jsonArray != null && jsonArray.size() > 0) { 45 | return jsonArray.getString(0); 46 | } 47 | 48 | return null; 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/util/SparkUtils.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.util; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import com.yt.spark.conf.Configuration; 5 | import com.yt.spark.conf.Constants; 6 | import com.yt.spark.spark.MockData; 7 | import com.yt.spark.spark.session.CategorySortKey; 8 | import org.apache.spark.SparkConf; 9 | import org.apache.spark.api.java.JavaRDD; 10 | import org.apache.spark.sql.Dataset; 11 | import org.apache.spark.sql.Row; 12 | import org.apache.spark.sql.SQLContext; 13 | import org.apache.spark.sql.SparkSession; 14 | 15 | /** 16 | * spark工具类 17 | * Created by yangtong on 17/5/18. 18 | */ 19 | public class SparkUtils { 20 | /** 21 | * 根据当前是否本地测试的配置 22 | * 决定master 23 | */ 24 | public static SparkSession getSparkSession(String appName) { 25 | boolean local = Configuration.getBoolean(Constants.SPARK_LOCAL); 26 | SparkSession spark = null; 27 | SparkConf conf = new SparkConf() 28 | .set("spark.serializer", "org.apache.spark.serializer.KryoSerializer") 29 | .registerKryoClasses(new Class[]{CategorySortKey.class}); //这个key在shuffle的时候,进行网络传输,因此设置为kyro序列化 30 | 31 | if (local) { 32 | spark = SparkSession 33 | .builder() 34 | .master("local") 35 | .appName(appName) 36 | .enableHiveSupport() 37 | .getOrCreate(); 38 | } else { 39 | spark = SparkSession.builder() 40 | .appName(appName) 41 | .config(conf) 42 | .enableHiveSupport() 43 | .getOrCreate(); 44 | } 45 | 46 | return spark; 47 | } 48 | 49 | 50 | /** 51 | * 生成模拟数据(只有本地模式才会生成模拟数据) 52 | * @param spark 53 | */ 54 | public static void mockData(SparkSession spark) { 55 | boolean local = Configuration.getBoolean(Constants.SPARK_LOCAL); 56 | if (local) { 57 | MockData.mockData(spark); 58 | } 59 | } 60 | 61 | /** 62 | * 根据起始日期得到ActionRDD 63 | * @param spark 64 | * @param taskParams 65 | * @return 66 | */ 67 | public static JavaRDD getActionRDDByDateRange(SparkSession spark, JSONObject taskParams) { 68 | 69 | String startDate = ParamUtils.getParam(taskParams, Constants.PARAM_START_DATE); 70 | String endDate = ParamUtils.getParam(taskParams, Constants.PARAM_END_DATE); 71 | 72 | String sql = "select * " 73 | + "from user_visit_action " 74 | + "where date >='" + startDate + "' " 75 | + "and date <='" + endDate + "'" 76 | // + "and session_id not in ('','','')" //这个是用来过滤掉可能会导致数据倾斜的数据 77 | ; 78 | 79 | Dataset df = spark.sql(sql); 80 | 81 | /** 82 | * spark SQL的第一个stage的partition很少,所以使用repartition来重分区 83 | */ 84 | // return df.javaRDD().repartition(1000); 85 | 86 | return df.javaRDD(); 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/util/StringUtils.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.util; 2 | 3 | /** 4 | * 字符串工具类 5 | * @author Administrator 6 | * 7 | */ 8 | public class StringUtils { 9 | 10 | /** 11 | * 判断字符串是否为空 12 | * @param str 字符串 13 | * @return 是否为空 14 | */ 15 | public static boolean isEmpty(String str) { 16 | return str == null || "".equals(str); 17 | } 18 | 19 | /** 20 | * 判断字符串是否不为空 21 | * @param str 字符串 22 | * @return 是否不为空 23 | */ 24 | public static boolean isNotEmpty(String str) { 25 | return str != null && !"".equals(str); 26 | } 27 | 28 | /** 29 | * 截断字符串两侧的逗号 30 | * @param str 字符串 31 | * @return 字符串 32 | */ 33 | public static String trimComma(String str) { 34 | if(str.startsWith(",")) { 35 | str = str.substring(1); 36 | } 37 | if(str.endsWith(",")) { 38 | str = str.substring(0, str.length() - 1); 39 | } 40 | return str; 41 | } 42 | 43 | /** 44 | * 补全两位数字 45 | * @param str 46 | * @return 47 | */ 48 | public static String fulfuill(String str) { 49 | if(str.length() == 2) { 50 | return str; 51 | } else { 52 | return "0" + str; 53 | } 54 | } 55 | 56 | /** 57 | * 从拼接的字符串中提取字段 58 | * @param str 字符串 59 | * @param delimiter 分隔符 60 | * @param field 字段 61 | * @return 字段值 62 | */ 63 | public static String getFieldFromConcatString(String str, 64 | String delimiter, String field) { 65 | try { 66 | String[] fields = str.split(delimiter); 67 | for(String concatField : fields) { 68 | // searchKeywords=|clickCategoryIds=1,2,3 69 | if(concatField.split("=").length == 2) { 70 | String fieldName = concatField.split("=")[0]; 71 | String fieldValue = concatField.split("=")[1]; 72 | if(fieldName.equals(field)) { 73 | return fieldValue; 74 | } 75 | } 76 | } 77 | } catch (Exception e) { 78 | e.printStackTrace(); 79 | } 80 | return null; 81 | } 82 | 83 | /** 84 | * 从拼接的字符串中给字段设置值 85 | * @param str 字符串 86 | * @param delimiter 分隔符 87 | * @param field 字段名 88 | * @param newFieldValue 新的field值 89 | * @return 字段值 90 | */ 91 | public static String setFieldInConcatString(String str, 92 | String delimiter, String field, String newFieldValue) { 93 | String[] fields = str.split(delimiter); 94 | 95 | for(int i = 0; i < fields.length; i++) { 96 | String fieldName = fields[i].split("=")[0]; 97 | if(fieldName.equals(field)) { 98 | String concatField = fieldName + "=" + newFieldValue; 99 | fields[i] = concatField; 100 | break; 101 | } 102 | } 103 | 104 | StringBuffer buffer = new StringBuffer(""); 105 | for(int i = 0; i < fields.length; i++) { 106 | buffer.append(fields[i]); 107 | if(i < fields.length - 1) { 108 | buffer.append("|"); 109 | } 110 | } 111 | 112 | return buffer.toString(); 113 | } 114 | 115 | } 116 | -------------------------------------------------------------------------------- /src/main/java/com/yt/spark/util/ValidUtils.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.util; 2 | 3 | /** 4 | * 校验工具类 5 | * @author Administrator 6 | * 7 | */ 8 | public class ValidUtils { 9 | 10 | /** 11 | * 校验数据中的指定字段,是否在指定范围内 12 | * @param data 数据 13 | * @param dataField 数据字段 14 | * @param parameter 参数 15 | * @param startParamField 起始参数字段 16 | * @param endParamField 结束参数字段 17 | * @return 校验结果 18 | */ 19 | public static boolean between(String data, String dataField, 20 | String parameter, String startParamField, String endParamField) { 21 | String startParamFieldStr = StringUtils.getFieldFromConcatString( 22 | parameter, "\\|", startParamField); 23 | String endParamFieldStr = StringUtils.getFieldFromConcatString( 24 | parameter, "\\|", endParamField); 25 | if(startParamFieldStr == null || endParamFieldStr == null) { 26 | return true; 27 | } 28 | 29 | int startParamFieldValue = Integer.valueOf(startParamFieldStr); 30 | int endParamFieldValue = Integer.valueOf(endParamFieldStr); 31 | 32 | String dataFieldStr = StringUtils.getFieldFromConcatString( 33 | data, "\\|", dataField); 34 | if(dataFieldStr != null) { 35 | int dataFieldValue = Integer.valueOf(dataFieldStr); 36 | if(dataFieldValue >= startParamFieldValue && 37 | dataFieldValue <= endParamFieldValue) { 38 | return true; 39 | } else { 40 | return false; 41 | } 42 | } 43 | 44 | return false; 45 | } 46 | 47 | /** 48 | * 校验数据中的指定字段,是否有值与参数字段的值相同 49 | * @param data 数据 50 | * @param dataField 数据字段 51 | * @param parameter 参数 52 | * @param paramField 参数字段 53 | * @return 校验结果 54 | */ 55 | public static boolean in(String data, String dataField, 56 | String parameter, String paramField) { 57 | String paramFieldValue = StringUtils.getFieldFromConcatString( 58 | parameter, "\\|", paramField); 59 | if(paramFieldValue == null) { 60 | return true; 61 | } 62 | String[] paramFieldValueSplited = paramFieldValue.split(","); 63 | 64 | String dataFieldValue = StringUtils.getFieldFromConcatString( 65 | data, "\\|", dataField); 66 | if(dataFieldValue != null) { 67 | String[] dataFieldValueSplited = dataFieldValue.split(","); 68 | 69 | for(String singleDataFieldValue : dataFieldValueSplited) { 70 | for(String singleParamFieldValue : paramFieldValueSplited) { 71 | if(singleDataFieldValue.equals(singleParamFieldValue)) { 72 | return true; 73 | } 74 | } 75 | } 76 | } 77 | 78 | return false; 79 | } 80 | 81 | /** 82 | * 校验数据中的指定字段,是否在指定范围内 83 | * @param data 数据 84 | * @param dataField 数据字段 85 | * @param parameter 参数 86 | * @param paramField 参数字段 87 | * @return 校验结果 88 | */ 89 | public static boolean equal(String data, String dataField, 90 | String parameter, String paramField) { 91 | String paramFieldValue = StringUtils.getFieldFromConcatString( 92 | parameter, "\\|", paramField); 93 | if(paramFieldValue == null) { 94 | return true; 95 | } 96 | 97 | String dataFieldValue = StringUtils.getFieldFromConcatString( 98 | data, "\\|", dataField); 99 | if(dataFieldValue != null) { 100 | if(dataFieldValue.equals(paramFieldValue)) { 101 | return true; 102 | } 103 | } 104 | return false; 105 | } 106 | 107 | } 108 | -------------------------------------------------------------------------------- /src/main/resources/my.properties: -------------------------------------------------------------------------------- 1 | jdbc.driver=com.mysql.jdbc.Driver 2 | jdbc.datasource.size=10 3 | 4 | jdbc.url=jdbc:mysql://localhost:3306/spark_project 5 | jdbc.user=root 6 | jdbc.password=542919899 7 | 8 | jdbc.url.prod=jdbc:mysql://192.168.28.237:3306/spark_project 9 | jdbc.user.prod=root 10 | jdbc.password.prod=542919899 11 | 12 | 13 | spark.local=true 14 | spark.local.taskid.session=2 15 | spark.local.taskid.page=3 16 | spark.local.taskid.product=4 17 | 18 | 19 | kafka.metadata.broker.list=192.168.56.101:9092,192.168.56.102:9092,192.168.56.103:9092 20 | kafka.topics=AdRealTimeLog -------------------------------------------------------------------------------- /src/main/scala/com/yt/spark/App.scala: -------------------------------------------------------------------------------- 1 | package com.yt.spark 2 | 3 | /** 4 | * Hello world! 5 | * 6 | */ 7 | 8 | object App { 9 | println( "Hello World!" ) 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/com/yt/spark/FastJsonTest.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONArray; 5 | import com.alibaba.fastjson.JSONObject; 6 | 7 | /** 8 | * FastJson测试 9 | * Created by yangtong on 17/5/8. 10 | */ 11 | public class FastJsonTest { 12 | public static void main(String[] args) { 13 | String json = "[{'姓名': '张三', '年龄': '23'}, {'姓名': '李四', '年龄': '24'}]"; 14 | 15 | JSONArray jsonArray = JSON.parseArray(json); 16 | JSONObject jsonObject = jsonArray.getJSONObject(0); 17 | System.out.println(jsonObject.getString("姓名")); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/yt/spark/JDBCTest.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark; 2 | 3 | import java.sql.*; 4 | 5 | /** 6 | * Created by yangtong on 17/5/5. 7 | */ 8 | public class JDBCTest { 9 | public static void main(String[] args) throws SQLException { 10 | insert(); 11 | } 12 | 13 | public static void insert() throws SQLException { 14 | Connection conn = null; 15 | 16 | Statement stmt = null; 17 | 18 | PreparedStatement pstmt = null; 19 | 20 | try { 21 | Class.forName("com.mysql.jdbc.Driver"); 22 | 23 | conn = DriverManager.getConnection( 24 | "jdbc:mysql://localhost:3306/spark_project", 25 | "root", 26 | "542919899"); 27 | 28 | stmt = conn.createStatement(); 29 | 30 | 31 | String sql = "insert into test_jdbc(name) values('yt')"; 32 | String pSql = "insert into test_jdbc(name) values(?)"; 33 | // int a = stmt.executeUpdate(sql); 34 | 35 | pstmt = conn.prepareStatement(pSql); 36 | pstmt.setString(1, "yangtong"); 37 | 38 | int b = pstmt.executeUpdate(); 39 | 40 | System.out.println(b); 41 | } catch (Exception e) { 42 | 43 | } finally { 44 | if (stmt != null) { 45 | stmt.close(); 46 | } 47 | if (conn != null) { 48 | conn.close(); 49 | } 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/test/java/com/yt/spark/Singleton.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark; 2 | 3 | /** 4 | * 单例模式 5 | * 6 | * Created by yangtong on 17/5/5. 7 | */ 8 | public class Singleton { 9 | private static Singleton instance = null; 10 | 11 | //构造方法必须是private的 12 | private Singleton() { 13 | 14 | } 15 | 16 | public static Singleton getInstance() { 17 | if (instance == null) { 18 | synchronized (Singleton.class) { 19 | if (instance == null) { 20 | instance = new Singleton(); 21 | } 22 | } 23 | } 24 | return instance; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/test/java/com/yt/spark/conf/ConfigurationTest.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.conf; 2 | 3 | 4 | /** 5 | * Created by yangtong on 17/5/5. 6 | */ 7 | public class ConfigurationTest { 8 | public static void main(String[] args) { 9 | String testkey1 = Configuration.getProperty("yt2"); 10 | System.out.println(testkey1); 11 | } 12 | } -------------------------------------------------------------------------------- /src/test/java/com/yt/spark/dao/impl/TaskDAOImplTest.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.dao.impl; 2 | 3 | import static org.junit.Assert.*; 4 | 5 | /** 6 | * Created by yangtong on 17/5/8. 7 | */ 8 | public class TaskDAOImplTest { 9 | 10 | 11 | } -------------------------------------------------------------------------------- /src/test/java/com/yt/spark/jdbc/JDBCHelperTest.java: -------------------------------------------------------------------------------- 1 | package com.yt.spark.jdbc; 2 | 3 | import java.sql.ResultSet; 4 | import java.util.ArrayList; 5 | import java.util.HashMap; 6 | import java.util.List; 7 | import java.util.Map; 8 | 9 | import static org.junit.Assert.*; 10 | 11 | /** 12 | * Created by yangtong on 17/5/5. 13 | */ 14 | public class JDBCHelperTest { 15 | public static void main(String[] args) { 16 | JDBCHelper jdbcHelper = JDBCHelper.getInstance(); 17 | 18 | //测试更新语句 19 | //jdbcHelper.executeUpdate("insert into test_jdbc(name) values(?)", new Object[] {"asdf"}); 20 | 21 | //测试查询语句 22 | Map testUser = new HashMap(); 23 | 24 | jdbcHelper.executeQuery( 25 | "select id, name from test_jdbc where id = ?", 26 | new Object[]{2}, 27 | rs -> { //jdk8 中的lambda表达式 28 | if (rs.next()) { 29 | int id = rs.getInt(1); 30 | String name = rs.getString(2); 31 | 32 | testUser.put("id", id); 33 | testUser.put("name", name); 34 | } 35 | }); 36 | System.out.println(testUser.get("id") + " : " + testUser.get("name")); 37 | 38 | //测试批量执行sql语句 39 | String sql = "insert into test_jdbc(name) values(?)"; 40 | List paramsList = new ArrayList(); 41 | paramsList.add(new Object[] {"asdfj"}); 42 | paramsList.add(new Object[] {"asdf2"}); 43 | paramsList.add(new Object[] {"asdf4"}); 44 | 45 | jdbcHelper.executeBatch(sql, paramsList); 46 | 47 | 48 | } 49 | } --------------------------------------------------------------------------------