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)

Reply via email to