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
dtype_kind_hive_type = {
                'b': 'BOOLEAN',  
                'i': 'BIGINT',  
                'u': 'BIGINT',  
                'f': 'DOUBLE',  
                'c': 'STRING',  
                'M': 'TIMESTAMP',  
                'O': 'STRING',  
                'S': 'STRING',  
                'U': 'STRING',  
                'V': 'STRING',  
            }
            order_type = OrderedDict()
            for col, dtype in df.dtypes.iteritems():
                order_type[col] = dtype_kind_hive_type[dtype.kind]
            return order_type
        if pandas_kwargs is None:
            pandas_kwargs = {}
        with TemporaryDirectory(prefix='airflow_hiveop_') as tmp_dir:
            with NamedTemporaryFile(dir=tmp_dir, mode="w") as f:
                if field_dict is None:
                    field_dict = _infer_field_types_from_df(df)
                df.to_csv(
                    path_or_buf=f,
                    sep=delimiter,
                    header=False,
                    index=False,
                    encoding=encoding,
                    date_format="%Y-%m-%d %H:%M:%S",
                    **pandas_kwargs,