Apache Airflow 
Version : 1.10.12

Using HiveServer2Hook with default connection ( assuming that auth_mechanism: PLAIN, but also set as extra to double make sure ) 

The password edit test is left empty, but from hook/ connections code and logs it seems that is not:

from airflow.hooks.base_hook import BaseHook
connection = BaseHook.get_connection('hiveserver2_hadoop_one_umlaut_default')
print(connection.password)

[2020-10-05 09:04:35,396] {base_task_runner.py:113} INFO - Job 20527: Subtask UMLAUT_CT_MASTER_TABLE_LOAD [2020-10-05 09:04:35,395] {base_hook.py:89} INFO - Using connection to: id: hiveserver2_hadoop_one_umlaut_default. Host: 146.11.85.131, Port: 10000, Schema: umlaut, Login: hdfs, **Password: XXXXXXXX**, extra: XXXXXXXX

def log_info(self):
        return ("id: {}. Host: {}, Port: {}, Schema: {}, "
                "Login: {}, Password: {}, extra: {}".
                format(self.conn_id,
                       self.host,
                       self.port,
                       self.schema,
                       self.login,
                       "XXXXXXXX" if self.password else None,
                       "XXXXXXXX" if self.extra_dejson else None))

from latest PyHive, looks like password is not None

https://github.com/dropbox/PyHive/blob/master/pyhive/hive.py

![image](https://user-images.githubusercontent.com/10634077/95061218-49a34f80-0736-11eb-9380-98638884ade3.png)

airflow/providers/apache/hive/hooks/hive.py
:param delimiter: field delimiter in the file
        :type delimiter: str
        :param field_dict: A dictionary of the fields name in the file
            as keys and their Hive types as values.
            Note that it must be OrderedDict so as to keep columns' order.
        :type field_dict: collections.OrderedDict
        :param create: whether to create the table if it doesn't exist
        :type create: bool
        :param overwrite: whether to overwrite the data in table or partition
        :type overwrite: bool
        :param partition: target partition as a dict of partition columns
            and values
        :type partition: dict
        :param recreate: whether to drop and recreate the table at every
            execution
        :type recreate: bool
        :param tblproperties: TBLPROPERTIES of the hive table being created
        :type tblproperties: dict
        """
        hql = ''
        if recreate:
            hql += f"DROP TABLE IF EXISTS {table};\n"
        if create or recreate:
            if field_dict is None:
                raise ValueError("Must provide a field dict when creating a table")
            fields = ",\n    ".join(['`{k}` {v}'.format(k=k.strip('`'), v=v) for k, v in field_dict.items()])
            hql += f"CREATE TABLE IF NOT EXISTS {table} (\n{fields})\n"
            if partition:
                pfields = ",\n    ".join([p + " STRING" for p in partition])
                hql += f"PARTITIONED BY ({pfields})\n"