### Body

Use `AirflowProviderDeprecationWarning` as warning source in EMR operators and change stacklevel to 2:
https://github.com/apache/airflow/blob/05036e619c0c6dafded1451daac4e07e20aee33f/airflow/providers/amazon/aws/operators/emr.py#L380-L384
https://github.com/apache/airflow/blob/05036e619c0c6dafded1451daac4e07e20aee33f/airflow/providers/amazon/aws/operators/emr.py#L373-L377
https://github.com/apache/airflow/blob/05036e619c0c6dafded1451daac4e07e20aee33f/airflow/providers/amazon/aws/operators/emr.py#L264-L268
https://github.com/apache/airflow/blob/05036e619c0c6dafded1451daac4e07e20aee33f/airflow/providers/amazon/aws/operators/emr.py#L257-L261

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
"""
    Creates an EMR JobFlow, reading the config from the EMR connection.
    A dictionary of JobFlow overrides can be passed that override the config from the connection.
    .. seealso::
        For more information on how to use this operator, take a look at the guide:
        :ref:`howto/operator:EmrCreateJobFlowOperator`
    :param aws_conn_id: The Airflow connection used for AWS credentials.
        If this is None or empty then the default boto3 behaviour is used. If
        running Airflow in a distributed manner and aws_conn_id is None or
        empty, then default boto3 configuration would be used (and must be
        maintained on each worker node)
    :param emr_conn_id: :ref:`Amazon Elastic MapReduce Connection <howto/connection:emr>`.
        Use to receive an initial Amazon EMR cluster configuration:
        ``boto3.client('emr').run_job_flow`` request body.
        If this is None or empty or the connection does not exist,
        then an empty initial configuration is used.
    :param job_flow_overrides: boto3 style arguments or reference to an arguments file
        (must be '.json') to override specific ``emr_conn_id`` extra parameters. (templated)
    :param region_name: Region named passed to EmrHook
    :param wait_for_completion: Whether to finish task immediately after creation (False) or wait for jobflow
        completion (True)
    :param waiter_max_attempts: Maximum number of tries before failing.
    :param waiter_delay: Number of seconds between polling the state of the notebook.
    :param waiter_countdown: Max. seconds to wait for jobflow completion (only in combination with
        wait_for_completion=True, None = no limit) (Deprecated.  Please use waiter_max_attempts.)
    :param waiter_check_interval_seconds: Number of seconds between polling the jobflow state. Defaults to 60