def METHOD_NAME(self, spark: SparkSession, args: Dict[str, Any]) -> None:
    logger: Logger = self.get_logger(spark=spark)
    # Arguments
    input_table: str = args[constants.CASSANDRA_TO_BQ_INPUT_TABLE]
    input_host: str = args[constants.CASSANDRA_TO_BQ_INPUT_HOST]
    output_mode: str = args[constants.CASSANDRA_TO_BQ_WRITE_MODE]
    output_location: str = args[constants.CASSANDRA_TO_BQ_BIGQUERY_LOCATION]
    catalog: str = args[constants.CASSANDRA_TO_BQ_CATALOG]
    query: str = args[constants.CASSANDRA_TO_BQ_QUERY]
    tempLocation: str = args[constants.CASSANDRA_TO_BQ_TEMP_LOCATION]
    input_keyspace: str = args[constants.CASSANDRA_TO_BQ_INPUT_KEYSPACE]
    logger.info(
        "Starting Cassandra to Bigquery spark job with parameters:\n"
        f"{pprint.pformat(args)}"
    )
    # Set configuration to connect to Cassandra by overwriting the spark session
    spark = (
        SparkSession
            .builder
            .appName("CassandraToBQ")
            .config(constants.SQL_EXTENSION, constants.CASSANDRA_EXTENSION)
            .config(f"spark.sql.catalog.{catalog}", constants.CASSANDRA_CATALOG)
            .config(f"spark.sql.catalog.{catalog}.spark.cassandra.connection.host",input_host)
            .getOrCreate())
    # Read
    if(not query):
        input_data = spark.read.table(f"{catalog}.{input_keyspace}.{input_table}")
    else:
        input_data= spark.sql(query)
    # Write
    input_data.write.format(constants.FORMAT_BIGQUERY)\
        .mode(output_mode).option(constants.TABLE, output_location)\
        .option(constants.TEMP_GCS_BUCKET, tempLocation).save(