### Description

The Python Google Cloud Dataproc API version has been updated in Airflow to support filtering on the Dataproc Batches API.  The DataprocListBatchesOperator can be updated to make use of this filtering.  

Currently, DataprocListBatchesOperator returns, and populates xcom with every job run in the project.  This almost surely will fail as the return object is large and xcom storage is low, especially with MySQL. Filtering on job prefix and create_time are much more useful capabilities. 

### Use case/motivation

The ability to filter lists of GCP Dataproc Batches jobs.  

### Related issues

None

### Are you willing to submit a PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

"""Set Dataproc main class.
        :param main_jar: URI for the main file.
        :param main_class: Name of the main class.
        :raises: Exception
        """
        if main_class is not None and main_jar is not None:
            raise Exception("Set either main_jar or main_class")
        if main_jar:
            self.job["job"][self.job_type]["main_jar_file_uri"] = main_jar
        else:
            self.job["job"][self.job_type]["main_class"] = main_class
    def set_python_main(self, main: str) -> None:
        """Set Dataproc main python file uri.
        :param main: URI for the python main file.
        """
        self.job["job"][self.job_type]["main_python_file_uri"] = main
    def set_job_name(self, name: str) -> None:
        """Set Dataproc job name.
        Job name is sanitized, replacing dots by underscores.
        :param name: Job name.
        """
        sanitized_name = f"{name.replace('.', '_')}_{uuid.uuid4()!s:.8}"
        self.job["job"]["reference"]["job_id"] = sanitized_name
    def build(self) -> dict:
        """Return Dataproc job.
        :return: Dataproc job
        """
        return self.job
class DataprocHook(GoogleBaseHook):