def METHOD_NAME(hive_component, gcs_component, bq_component):
    """Method to validate the resources.
    Args:
        hive_component (:class:`HiveComponent`): Instance of
            HiveComponent to connect to Hive.
        gcs_component (:class:`GCSStorageComponent`): Instance of
            GCSStorageComponent to do GCS operations.
        bq_component (:class:`BigQueryComponent`): Instance of
            BigQueryComponent to do BigQuery operations.
    """
    if hive_component.check_database_exists(
            PropertiesReader.get('hive_database')):
        logger.debug("Hive database %s found",
                     PropertiesReader.get('hive_database'))
    else:
        logger.error("Hive database %s doesn't exist",
                     PropertiesReader.get('hive_database'))
        return False
    if hive_component.check_table_exists(
            PropertiesReader.get('hive_database'),
            PropertiesReader.get('hive_table_name')):
        logger.debug("Hive table %s found in database %s",
                     PropertiesReader.get('hive_table_name'),
                     PropertiesReader.get('hive_database'))
    else:
        logger.error("Hive table %s doesn't exist in database %s",
                     PropertiesReader.get('hive_table_name'),
                     PropertiesReader.get('hive_database'))
        return False
    if gcs_component.check_bucket_exists(
            PropertiesReader.get('gcs_bucket_name')):
        logger.debug("GCS Bucket %s found",
                     PropertiesReader.get('gcs_bucket_name'))
    else:
        logger.error("GCS bucket %s does not exist",
                     PropertiesReader.get('gcs_bucket_name'))
        return False
    if bq_component.check_dataset_exists(
            PropertiesReader.get('dataset_id')):
        logger.debug("BigQuery dataset %s found",
                     PropertiesReader.get('dataset_id'))
    else:
        logger.error("BigQuery dataset %s does not exist",
                     PropertiesReader.get('dataset_id'))
        return False
    bq_dataset_location = bq_component.get_dataset_location(
        PropertiesReader.get('dataset_id'))
    gcs_bucket_location = gcs_component.get_bucket_location(
        PropertiesReader.get('gcs_bucket_name'))
    # Checks whether the BigQuery dataset location and GCS bucket
    # location are compatible, since location constraints do not allow
    # loading data if locations are not compatible.
    if ResourceValidator.check_location_compatibility(
            bq_dataset_location, gcs_bucket_location):
        logger.debug(
            "Dataset location %s and GCS Bucket location %s matches",
            bq_dataset_location, gcs_bucket_location)
    else:
        logger.critical(
            "Dataset location %s and GCS Bucket location %s do not match",
            bq_dataset_location, gcs_bucket_location)
        logger.critical("Visit %s for more information", LOCATION_HELP_URL)
        return False
    return True