def create_model(): database_url = os.environ[DATABASE_URL] database_replica_set = os.environ[DATABASE_REPLICA_SET] database_name = os.environ[DATABASE_NAME] train_filename = request.json[TRAINING_FILENAME] test_filename = request.json[TEST_FILENAME] classifiers_name = request.json[CLASSIFIERS_NAME] database = Database( database_url, database_replica_set, os.environ[DATABASE_PORT], database_name, ) request_validator = UserRequest(database) request_errors = analyse_request_errors( request_validator, train_filename, test_filename, classifiers_name) if request_errors is not None: return request_errors database_url_training = Database.collection_database_url( database_url, database_name, train_filename, database_replica_set, ) database_url_test = Database.collection_database_url( database_url, database_name, test_filename, database_replica_set, ) metadata_creator = Metadata(database, train_filename, test_filename) model_builder = Model(database, metadata_creator, database_url_training, database_url_test) model_builder.build( request.json[MODELING_CODE_NAME], classifiers_name ) return ( jsonify({ MESSAGE_RESULT: create_prediction_files_uri( classifiers_name, test_filename)}), HTTP_STATUS_CODE_SUCCESS_CREATED, )
def create_projection(): database_url = os.environ[DATABASE_URL] database_replica_set = os.environ[DATABASE_REPLICA_SET] database_name = os.environ[DATABASE_NAME] parent_filename = request.json[PARENT_FILENAME_NAME] projection_filename = request.json[PROJECTION_FILENAME_NAME] projection_fields = request.json[FIELDS_NAME] database = Database( database_url, database_replica_set, os.environ[DATABASE_PORT], database_name, ) request_validator = UserRequest(database) request_errors = analyse_request_errors(request_validator, parent_filename, projection_filename, projection_fields) if request_errors is not None: return request_errors database_url_input = Database.collection_database_url( database_url, database_name, parent_filename, database_replica_set, ) database_url_output = Database.collection_database_url( database_url, database_name, projection_filename, database_replica_set, ) metadata_creator = Metadata(database) projection = Projection(metadata_creator, database_url_input, database_url_output) projection.create(parent_filename, projection_filename, projection_fields) return ( jsonify({ MESSAGE_RESULT: MICROSERVICE_URI_GET + projection_filename + MICROSERVICE_URI_GET_PARAMS }), HTTP_STATUS_CODE_SUCCESS_CREATED, )
def create_tsne(): database = Database(os.environ[DATABASE_URL], os.environ[DATABASE_REPLICA_SET], os.environ[DATABASE_PORT], os.environ[DATABASE_NAME]) request_validator = UserRequest(database) request_errors = analyse_request_errors(request_validator, request.json[PARENT_FILENAME_NAME], request.json[TSNE_FILENAME_NAME], request.json[LABEL_NAME]) if request_errors is not None: return request_errors database_url_input = Database.collection_database_url( os.environ[DATABASE_URL], os.environ[DATABASE_NAME], request.json[PARENT_FILENAME_NAME], os.environ[DATABASE_REPLICA_SET], ) thread_pool.submit(tsne_async_processing, database_url_input, request.json[LABEL_NAME], request.json[TSNE_FILENAME_NAME]) return ( jsonify({ MESSAGE_RESULT: MICROSERVICE_URI_GET + request.json[TSNE_FILENAME_NAME] }), HTTP_STATUS_CODE_SUCCESS_CREATED, )
def create_projection(): parent_filename = request.json[PARENT_FILENAME_NAME] projection_filename = request.json[PROJECTION_FILENAME_NAME] projection_fields = request.json[FIELDS_NAME] request_errors = analyse_request_errors(request_validator, parent_filename, projection_filename, projection_fields) if request_errors is not None: return request_errors database_url_input = Database.collection_database_url( database_url, database_name, parent_filename, database_replica_set, ) database_url_output = Database.collection_database_url( database_url, database_name, projection_filename, database_replica_set, ) metadata_creator = Metadata(database) projection = Projection(metadata_creator, database_url_input, database_url_output) projection.create(parent_filename, projection_filename, projection_fields) return ( jsonify({ MESSAGE_RESULT: f'{MICROSERVICE_URI_GET}{projection_filename}' f'{MICROSERVICE_URI_GET_PARAMS}' }), HTTP_STATUS_CODE_SUCCESS_CREATED, )
def create_model(): train_filename = request.json[TRAINING_FILENAME] test_filename = request.json[TEST_FILENAME] classifiers_name = request.json[CLASSIFIERS_NAME] request_errors = analyse_request_errors(request_validator, train_filename, test_filename, classifiers_name) if request_errors is not None: return request_errors database_url_training = Database.collection_database_url( database_url, database_name, train_filename, database_replica_set, ) database_url_test = Database.collection_database_url( database_url, database_name, test_filename, database_replica_set, ) builder = Builder(database, metadata_creator, spark_session) builder.build(request.json[MODELING_CODE_NAME], classifiers_name, train_filename, test_filename, database_url_training, database_url_test) return ( jsonify({ MESSAGE_RESULT: create_prediction_files_uri(classifiers_name, test_filename) }), HTTP_STATUS_CODE_SUCCESS_CREATED, )