**Description**
Currently, we can only pass custom Image name to  **DataprocClusterCreateOperator(),**
as the custom image expires after 60 days, we either need to update the image or we need to pass the expiration token.

Functionality is already available in **gcloud** and **REST**.

`gcloud dataproc clusters test_cluster ......
--image projects/<custom_image_project_id>/global/images/family/<family_name>
.......
`


**Use case / motivation**
The user should be able to pass either Custom Image or Custom Image family name,
so we don't have to update the image up on expiration or use expiration token.


**Are you willing to submit a PR?**
Yes

**Related Issues**
None
airflow/providers/google/cloud/operators/dataproc.py
"""
    Start a Spark SQL query Job on a Cloud DataProc cluster.
    :param query: The query or reference to the query file (q extension). (templated)
    :type query: str
    :param query_uri: The HCFS URI of the script that contains the SQL queries.
    :type query_uri: str
    :param variables: Map of named parameters for the query. (templated)
    :type variables: dict
    """
    template_fields = [
        'query',
        'variables',
        'job_name',
        'cluster_name',
        'region',
        'dataproc_jars',
        'dataproc_properties',
        'impersonation_chain',
    ]
    template_ext = ('.q',)
    ui_color = '#0273d4'
    job_type = 'spark_sql_job'
    @apply_defaults
    def __init__(