ef METHOD_NAME(self, spark: SparkSession, args: Dict[str, Any]) -> None:
   logger: Logger = self.get_logger(spark=spark)
   # Arguments
   input_host: str = args[constants.CASSANDRA_TO_GCS_INPUT_HOST]
   input_keyspace: str = args[constants.CASSANDRA_TO_GCS_INPUT_KEYSPACE]
   input_table: str = args[constants.CASSANDRA_TO_GCS_INPUT_TABLE]
   output_format: str = args[constants.CASSANDRA_TO_GCS_OUTPUT_FORMAT]
   output_location: str = args[constants.CASSANDRA_TO_GCS_OUTPUT_PATH]
   output_mode: str = args[constants.CASSANDRA_TO_GCS_OUTPUT_SAVEMODE]
   catalog: str = args[constants.CASSANDRA_TO_GCS_CATALOG]
   query: str = args[constants.CASSANDRA_TO_GCS_QUERY]
   logger.info(
       "Starting CASSANDRA to Cloud Storage spark job with parameters:\n"
       f"{pprint.pformat(args)}"
   )
   # Set configuration to connect to Cassandra by overwriting the spark session
   spark = (
    SparkSession
    .builder
    .appName("CassandraToGCS")
    .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
   writer: DataFrameWriter = input_data.write.mode(output_mode)
   persist_dataframe_to_cloud_storage(writer, args, output_location, output_format, "cassandratogcs.output.")