gitextract_tdzrs8s1/ ├── .gitignore ├── LICENSE ├── README.md ├── orchestrator/ │ ├── README.md │ ├── bootstrap/ │ │ ├── runasairflow/ │ │ │ ├── airflowbootstrap.sh │ │ │ ├── bash/ │ │ │ │ ├── airflow/ │ │ │ │ │ ├── restart_airflow.sh │ │ │ │ │ ├── start_airflow.sh │ │ │ │ │ └── stop_airflow.sh │ │ │ │ ├── cassandra/ │ │ │ │ │ ├── restart_cassandra.sh │ │ │ │ │ ├── start_cassandra.sh │ │ │ │ │ └── stop_cassandra.sh │ │ │ │ ├── cq │ │ │ │ ├── git_pull.sh │ │ │ │ ├── hdfs/ │ │ │ │ │ ├── restart_hdfs.sh │ │ │ │ │ ├── start_hdfs.sh │ │ │ │ │ ├── stop_hdfs.sh │ │ │ │ │ └── wipe_out_hdfs.sh │ │ │ │ ├── load_ga_chp_bq_historical_data.sh │ │ │ │ ├── load_ga_chp_historical_data.sh │ │ │ │ └── run_pyspark_notebook.sh │ │ │ ├── python/ │ │ │ │ └── set_up_airflow_authentication.py │ │ │ └── templates/ │ │ │ ├── airflow.cfg.template │ │ │ ├── cassandra.yaml.template │ │ │ ├── core-site.xml.template │ │ │ └── hdfs-site.xml.template │ │ └── runasroot/ │ │ ├── rc.local │ │ └── rootbootstrap.sh │ └── dockerbuilddirs/ │ ├── apicontainer/ │ │ ├── Dockerfile │ │ ├── api.conf.template │ │ └── nginx.conf │ ├── letsencryptcontainer/ │ │ ├── Dockerfile │ │ └── default.conf.template │ ├── pysparkcontainer/ │ │ ├── Dockerfile │ │ └── install.sh │ └── pythoncontainer/ │ ├── Dockerfile │ └── install.sh └── pipelines/ ├── README.md ├── api_auth_service/ │ ├── README.md │ ├── api.py │ ├── auth_kubernetes_deployment.yaml │ ├── auth_kubernetes_service.yaml │ └── runapi.sh ├── publishers_churning_users/ │ ├── README.md │ ├── cassandra_schema/ │ │ ├── README.md │ │ └── ga_chp_cassandra_schema.cql │ ├── ingestion/ │ │ ├── connector/ │ │ │ ├── ga_chp_connector.py │ │ │ └── runconnector.sh │ │ ├── pipeline_setup/ │ │ │ ├── ga_chp_ingestion_airflow_dag.py.template │ │ │ ├── ga_chp_load_historical_data.py │ │ │ ├── ga_chp_truncate_tables_before_loading_historical_data.cql │ │ │ └── insert_into_ga_chp_config_parameters.cql.template │ │ └── preflight_check/ │ │ └── ga_chp_preflight_check_before_prediction_pipeline.sh │ ├── pre_processing/ │ │ ├── basic_processing/ │ │ │ ├── ga_chp_basic_preprocessor.py │ │ │ └── runbasicpreprocessor.sh │ │ ├── ga_chp_move_metadata.sh │ │ └── scaling_transformation/ │ │ ├── README.md │ │ ├── ga_chp_advanced_preprocessor.py │ │ ├── runadvancedpreprocessor.sh │ │ └── scaler_transformer.py │ ├── prediction/ │ │ ├── batch_inference/ │ │ │ ├── ga_chp_batch_inference.py │ │ │ └── runbatchinference.sh │ │ ├── model_serving/ │ │ │ ├── ga_chp_kubernetes_deployment.yaml │ │ │ ├── ga_chp_kubernetes_service.yaml │ │ │ ├── model_serving_endpoint.py │ │ │ └── runmodelservingendpoint.sh │ │ └── pipeline_setup/ │ │ ├── ga_chp_generate_id_files_prediction.sh │ │ ├── ga_chp_prediction_airflow_dag.py.template │ │ ├── ga_chp_truncate_tables_before_prediction_pipeline.cql │ │ └── ga_chp_truncate_tables_before_prediction_pipeline.sh │ └── training/ │ ├── model_generator/ │ │ ├── README.md │ │ ├── ga_chp_model_generator.py │ │ ├── model_generator.py │ │ └── runmodelgenerator.sh │ ├── pipeline_setup/ │ │ ├── ga_chp_generate_id_files_training.sh │ │ ├── ga_chp_training_airflow_dag.py.template │ │ ├── ga_chp_truncate_tables_before_training_pipeline.cql │ │ └── ga_chp_truncate_tables_before_training_pipeline.sh │ └── pipeline_wrapup/ │ ├── ga_chp_mark_model_as_valid.sh │ └── insert_into_ga_chp_valid_models.cql.template └── publishers_churning_users_bigquery/ ├── README.md ├── bq_extractor/ │ ├── README.md │ ├── ga_chp_bq_ingest_avro_file.py │ ├── ga_chp_bq_load_historical_data.py │ ├── ga_chp_bq_truncate_tables_before_loading_historical_data.cql │ └── runextractor.sh ├── cassandra_schema/ │ └── ga_chp_bq_cassandra_schema.cql ├── pre_processing/ │ ├── basic_processing/ │ │ ├── ga_chp_bq_basic_preprocessor.py │ │ └── runbasicpreprocessor.sh │ ├── ga_chp_bq_move_metadata.sh │ └── scaling_transformation/ │ ├── README.md │ ├── ga_chp_bq_advanced_preprocessor.py │ ├── runadvancedpreprocessor.sh │ └── scaler_transformer.py ├── prediction/ │ ├── batch_inference/ │ │ ├── ga_chp_bq_batch_inference.py │ │ └── runbatchinference.sh │ ├── model_serving/ │ │ ├── ga_chp_bq_kubernetes_deployment.yaml │ │ ├── ga_chp_bq_kubernetes_service.yaml │ │ ├── model_serving_endpoint.py │ │ └── runmodelservingendpoint.sh │ ├── pipeline_setup/ │ │ ├── ga_chp_bq_generate_id_files_prediction.sh │ │ ├── ga_chp_bq_prediction_airflow_dag.py.template │ │ ├── ga_chp_bq_truncate_tables_before_prediction_pipeline.cql │ │ └── ga_chp_bq_truncate_tables_before_prediction_pipeline.sh │ └── query.sql.template └── training/ ├── model_generator/ │ ├── README.md │ ├── ga_chp_bq_model_generator.py │ ├── model_generator.py │ └── runmodelgenerator.sh ├── pipeline_setup/ │ ├── ga_chp_bq_generate_id_files_training.sh │ ├── ga_chp_bq_training_airflow_dag.py.template │ ├── ga_chp_bq_truncate_tables_before_training_pipeline.cql │ ├── ga_chp_bq_truncate_tables_before_training_pipeline.sh │ └── insert_into_ga_chp_bq_config_parameters.cql.template ├── pipeline_wrapup/ │ ├── ga_chp_bq_mark_model_as_valid.sh │ └── insert_into_ga_chp_bq_valid_models.cql.template └── query.sql.template