配置Hive Python3样例工程
操作场景
为了运行MRS产品Hive组件的Python3接口样例代码,需要完成下面的操作。
操作步骤
- 客户端机器必须安装有Python3,其版本不低于3.6,最高不能超过3.8。
在客户端机器的命令行终端输入python3可查看Python版本号。如下显示Python版本为3.8.2。
Python 3.8.2 (default, Jun 23 2020, 10:26:03) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux Type "help", "copyright", "credits" or "license" for more information.
- 客户端机器必须安装有setuptools,版本可取47.3.1。
具体软件,请到对应的官方网站获取。
https://pypi.org/project/setuptools/#files
将下载的setuptools压缩文件复制到客户端机器上,解压后进入解压目录,在客户端机器的命令行终端执行python3 setup.py install。
如下内容表示安装setuptools的47.3.1版本成功。
Finished processing dependencies for setuptools==47.3.1
若提示setuptools的47.3.1版本安装不成功,则需要检查环境是否有问题或是Python自身原因导致的。
- 安装Python客户端到客户端机器。
- 参考获取MRS应用开发样例工程,获取样例代码解压目录中“src\hive-examples”目录下的样例工程文件夹“python3-examples”或“dependency_python3.9”文件夹(MRS 3.3.0及之后版本支持)。
- 进入“python3-examples”文件夹。
- 根据python3的版本,选择进入“dependency_python3.6”或“dependency_python3.7”或“dependency_python3.8”文件夹。
- 执行whereis easy_install命令,找到easy_install程序路径。如果有多个路径,使用easy_install --version确认选择setuptools对应版本的easy_install,如/usr/local/bin/easy_install。
- MRS 3.2.0之前版本,使用对应的easy_install命令,依次安装dependency_python3.x文件夹下的egg文件。如:
/usr/local/bin/easy_install future-0.18.2-py3.8.egg
输出以下关键内容表示安装egg文件成功。
Finished processing dependencies for future==0.18.2
对于“dependency_python3.x”文件夹下同时存在aarch64与x86_64版本的“egg”文件,需要根据操作系统选取其中一个版本安装即可,使用uname -p命令确认当前操作系统架构。
- MRS 3.2.0及之后版本,使用对应的easy_install命令,安装dependency_python3.x文件夹下的egg文件,egg文件存在依赖关系,可使用通配符安装,如:
- “dependency_python3.6”目录:
/usr/local/bin/easy_install future*egg six*egg python*egg sasl-*linux-$(uname -p).egg thrift-*egg thrift_sasl*egg
- “dependency_python3.7”目录:
/usr/local/bin/easy_install future*egg six*egg sasl-*linux-$(uname -p).egg thrift-*egg thrift_sasl*egg
- “dependency_python3.8”目录:
/usr/local/bin/easy_install future*egg six*egg python*egg sasl-*linux-$(uname -p).egg thrift-*linux-$(uname -p).egg thrift_sasl*egg
- “dependency_python3.9”目录(MRS 3.3.0及之后版本):
/usr/local/bin/easy_install future*egg six*egg sasl-*linux-$(uname -p).egg six-*.egg thrift-*linux-$(uname -p).egg thrift_sasl*egg
每个egg文件安装输出以下关键内容表示安装成功。
Finished processing dependencies for ***
- “dependency_python3.6”目录:
- 安装成功后,“python3-examples/pyCLI_nosec.py”为Python客户端样例代码,“python3-examples/pyhive/hive.py”为Python客户端接口API。