https://github.com/apache/airflow/blob/6c458f29c0eeadb1282e524e76fdd379d6436824/airflow/providers/apache/hive/hooks/hive.py#L464

It should be:
```
if hasattr(self, 'sub_process')
```
airflow/providers/apache/hive/hooks/hive.py
cur.execute(f"set {k}={v}")
            for statement in hql:
                cur.execute(statement)
                
                lowered_statement = statement.lower().strip()
                if (
                    lowered_statement.startswith('select')
                    or lowered_statement.startswith('with')
                    or lowered_statement.startswith('show')
                    or (lowered_statement.startswith('set') and '=' not in lowered_statement)
                ):
                    description = cur.description
                    if previous_description and previous_description != description:
                        message = '''The statements are producing different descriptions:
                                     Current: {}
                                     Previous: {}'''.format(
                            repr(description), repr(previous_description)
                        )
                        raise ValueError(message)
                    elif not previous_description:
                        previous_description = description
                        yield description
                    try:
                        
                        
                        
                        yield from cur
                    except ProgrammingError:
                        self.log.debug("get_results returned no records")
    def get_results(