如何使用impyla连接到 Impala 或者使用pyhive连接到Hive?

ny6fqffe  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(354)

我正在尝试使用以下代码的impyla连接到impala:

  1. from impala.dbapi import connect
  2. conn = connect(host='host_name.com', port=21050, user='usr', password='pass', use_ssl=True, auth_mechanism='LDAP')
  3. cursor = conn.cursor()
  4. cursor.execute('SHOW DATABASES')
  5. cursor.fetchall()

根据文档,此库需要版本0.2.1中的thrift\u sasl,但我无法安装它,因为它显示了此错误

  1. Collecting thrift_sasl==0.2.1
  2. Using cached https://files.pythonhosted.org/packages/80/36/16dfe92d32df63cc2b7b7be8d0e4a736617b7e52daaa7f83ae386a89d179/thrift_sasl-0.2.1.tar.gz
  3. Collecting sasl>=0.2.1 (from thrift_sasl==0.2.1)
  4. Using cached https://files.pythonhosted.org/packages/8e/2c/45dae93d666aea8492678499e0999269b4e55f1829b1e4de5b8204706ad9/sasl-0.2.1.tar.gz
  5. Collecting thriftpy (from thrift_sasl==0.2.1)
  6. Using cached https://files.pythonhosted.org/packages/f4/19/cca118cf7d2087310dbc8bd70dc7df0c1320f2652873a93d06d7ba356d4a/thriftpy-0.3.9.tar.gz
  7. Requirement already satisfied: six in c:\users\psowa\appdata\local\programs\python\python36\lib\site-packages (from sasl>=0.2.1->thrift_sasl==0.2.1) (1.12.0)
  8. Requirement already satisfied: ply<4.0,>=3.4 in c:\users\psowa\appdata\local\programs\python\python36\lib\site-packages (from thriftpy->thrift_sasl==0.2.1) (3.11)
  9. Installing collected packages: sasl, thriftpy, thrift-sasl
  10. Running setup.py install for sasl ... error
  11. ERROR: Command errored out with exit status 1:
  12. command: 'c:\users\psowa\appdata\local\programs\python\python36\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\psowa\\AppData\\Local\\Temp\\pip-install-y42wej4x\\sasl\\setup.py'"'"'; __file__='"'"'C:\\Users\\psowa\\AppData\\Local\\Temp\\pip-install-y42wej4x\\sasl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\psowa\AppData\Local\Temp\pip-record-rjwkcc76\install-record.txt' --single-version-externally-managed --compile
  13. cwd: C:\Users\psowa\AppData\Local\Temp\pip-install-y42wej4x\sasl\
  14. Complete output (27 lines):
  15. running install
  16. running build
  17. running build_py
  18. creating build
  19. creating build\lib.win-amd64-3.6
  20. creating build\lib.win-amd64-3.6\sasl
  21. copying sasl\__init__.py -> build\lib.win-amd64-3.6\sasl
  22. running egg_info
  23. writing sasl.egg-info\PKG-INFO
  24. writing dependency_links to sasl.egg-info\dependency_links.txt
  25. writing requirements to sasl.egg-info\requires.txt
  26. writing top-level names to sasl.egg-info\top_level.txt
  27. reading manifest file 'sasl.egg-info\SOURCES.txt'
  28. reading manifest template 'MANIFEST.in'
  29. writing manifest file 'sasl.egg-info\SOURCES.txt'
  30. copying sasl\saslwrapper.cpp -> build\lib.win-amd64-3.6\sasl
  31. copying sasl\saslwrapper.h -> build\lib.win-amd64-3.6\sasl
  32. copying sasl\saslwrapper.pyx -> build\lib.win-amd64-3.6\sasl
  33. running build_ext
  34. building 'sasl.saslwrapper' extension
  35. creating build\temp.win-amd64-3.6
  36. creating build\temp.win-amd64-3.6\Release
  37. creating build\temp.win-amd64-3.6\Release\sasl
  38. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Isasl -Ic:\users\psowa\appdata\local\programs\python\python36\include -Ic:\users\psowa\appdata\local\programs\python\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpsasl/saslwrapper.cpp /Fobuild\temp.win-amd64-3.6\Release\sasl/saslwrapper.obj
  39. saslwrapper.cpp
  40. c:\users\psowa\appdata\local\temp\pip-install-y42wej4x\sasl\sasl\saslwrapper.h(22): fatal error C1083: Cannot open include file: 'sasl/sasl.h': No such file or directory
  41. error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
  42. ----------------------------------------
  43. ERROR: Command errored out with exit status 1: 'c:\users\psowa\appdata\local\programs\python\python36\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\psowa\\AppData\\Local\\Temp\\pip-install-y42wej4x\\sasl\\setup.py'"'"'; __file__='"'"'C:\\Users\\psowa\\AppData\\Local\\Temp\\pip-install-y42wej4x\\sasl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\psowa\AppData\Local\Temp\pip-record-rjwkcc76\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.

当我安装最新版本的thrift\u sasl jupyter时,会出现以下错误:

  1. AttributeError: 'TSSLSocket' object has no attribute 'isOpen'

我还尝试使用以下代码通过pyhive连接:

  1. from pyhive import hive
  2. host_name = "host_name.com"
  3. port = 10000
  4. user = "usr"
  5. password = "pass"
  6. def hiveconnection(host_name, port, user,password):
  7. conn = hive.Connection(host=host_name, port=port, username=user, password=password, auth='LDAP')
  8. cur = conn.cursor()
  9. cur.execute('SHOW DATABASES')
  10. result = cur.fetchall()
  11. return result
  12. output = hiveconnection(host_name, port, user,password)
  13. print(output)

它希望我安装sasl,但当我尝试这样做时,它显示:

  1. Collecting sasl
  2. Using cached https://files.pythonhosted.org/packages/8e/2c/45dae93d666aea8492678499e0999269b4e55f1829b1e4de5b8204706ad9/sasl-0.2.1.tar.gz
  3. Requirement already satisfied: six in c:\users\psowa\appdata\local\programs\python\python36\lib\site-packages (from sasl) (1.12.0)
  4. Installing collected packages: sasl
  5. Running setup.py install for sasl ... error
  6. ERROR: Command errored out with exit status 1:
  7. command: 'c:\users\psowa\appdata\local\programs\python\python36\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\psowa\\AppData\\Local\\Temp\\pip-install-9rn_a9g0\\sasl\\setup.py'"'"'; __file__='"'"'C:\\Users\\psowa\\AppData\\Local\\Temp\\pip-install-9rn_a9g0\\sasl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\psowa\AppData\Local\Temp\pip-record-sedxucba\install-record.txt' --single-version-externally-managed --compile
  8. cwd: C:\Users\psowa\AppData\Local\Temp\pip-install-9rn_a9g0\sasl\
  9. Complete output (27 lines):
  10. running install
  11. running build
  12. running build_py
  13. creating build
  14. creating build\lib.win-amd64-3.6
  15. creating build\lib.win-amd64-3.6\sasl
  16. copying sasl\__init__.py -> build\lib.win-amd64-3.6\sasl
  17. running egg_info
  18. writing sasl.egg-info\PKG-INFO
  19. writing dependency_links to sasl.egg-info\dependency_links.txt
  20. writing requirements to sasl.egg-info\requires.txt
  21. writing top-level names to sasl.egg-info\top_level.txt
  22. reading manifest file 'sasl.egg-info\SOURCES.txt'
  23. reading manifest template 'MANIFEST.in'
  24. writing manifest file 'sasl.egg-info\SOURCES.txt'
  25. copying sasl\saslwrapper.cpp -> build\lib.win-amd64-3.6\sasl
  26. copying sasl\saslwrapper.h -> build\lib.win-amd64-3.6\sasl
  27. copying sasl\saslwrapper.pyx -> build\lib.win-amd64-3.6\sasl
  28. running build_ext
  29. building 'sasl.saslwrapper' extension
  30. creating build\temp.win-amd64-3.6
  31. creating build\temp.win-amd64-3.6\Release
  32. creating build\temp.win-amd64-3.6\Release\sasl
  33. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Isasl -Ic:\users\psowa\appdata\local\programs\python\python36\include -Ic:\users\psowa\appdata\local\programs\python\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpsasl/saslwrapper.cpp /Fobuild\temp.win-amd64-3.6\Release\sasl/saslwrapper.obj
  34. saslwrapper.cpp
  35. c:\users\psowa\appdata\local\temp\pip-install-9rn_a9g0\sasl\sasl\saslwrapper.h(22): fatal error C1083: Cannot open include file: 'sasl/sasl.h': No such file or directory
  36. error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
  37. ----------------------------------------
  38. ERROR: Command errored out with exit status 1: 'c:\users\psowa\appdata\local\programs\python\python36\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\psowa\\AppData\\Local\\Temp\\pip-install-9rn_a9g0\\sasl\\setup.py'"'"'; __file__='"'"'C:\\Users\\psowa\\AppData\\Local\\Temp\\pip-install-9rn_a9g0\\sasl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\psowa\AppData\Local\Temp\pip-record-sedxucba\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.

有什么想法吗?

1zmg4dgp

1zmg4dgp1#

在2.7版中使用python修复了这个问题。我认为兼容性有问题。

相关问题