Gavrilov Seva created AIRFLOW-3246:
--------------------------------------
Summary: Make hmsclient import optional
Key: AIRFLOW-3246
URL: https://issues.apache.org/jira/browse/AIRFLOW-3246
Project: Apache Airflow
Issue Type: Improvement
Components: hive_hooks
Affects Versions: 1.10.0
Reporter: Gavrilov Seva
Currently hmsclient is imported globally in hive_hooks.py, which is
inconsistent with the general style in this file: hive dependencies are
imported during the runtime. For example thrift components are imported inside
the {{get_metastore_client}} method, but hmsclient also imports thrift
components, so it forces you to have them installed.
I moved the import in this PR:
https://github.com/apache/incubator-airflow/pull/4080
To give you a bit more information on why i even bother to do such a change, we
are having problems with the new hive dependencies of airflow 1.10,
particularly new version of pyhive. I described the problem
[here|https://github.com/dropbox/PyHive/issues/240], seems like a combination
of docker environment with newest versions of these libraries. We opted to
rollback HiveServer2 hook to use the old dependencies, among them
{{thrift==0.9.3}}, and hmsclient requires newer version of thrift. If you by
chance have any clue on how we can diagnose our problem, please let me know.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)