cloudera / impyla

Python DB API 2.0 client for Impala and Hive (HiveServer2 protocol)
Apache License 2.0
731 stars 248 forks source link

Windows Kerberos Support #466

Open ZeroCool2u opened 3 years ago

ZeroCool2u commented 3 years ago

Right now, using impyla on Windows with kerberos is difficult. If you're running Python v3.6 or v3.7 you can go to the infamous Unofficial Windows Binaries for Python Extension Packages and install the binary version of the sasl package and somewhat successfully install an older version of impyla with kerberos support.

However, if you're forced to use a more recent version of Python say 3.8, you seem to be out of luck.

It seems like impyla could follow the popular pattern of using the winkerberos package based on the platform detected to mitigate the issue.

Would it be possible in the future to add support for this? Using CDH in a corporate environment is pretty painful without this feature.

ZeroCool2u commented 3 years ago

Actually, this could probably be easily dealt with by clarifying things in the documentation and a small change to setup.py like:

 extras_require={
        "kerberos": [""] if platform.system() == 'Windows' else ['kerberos>=1.3.0'],
    },

Because the core dependencies will automatically handle kerberos support via winkerberos.

attilajeges commented 3 years ago

@ZeroCool2u Could you do some basic testing with your suggested patch and then create a PR for it? Unfortunately I don't have access to a Windows box.