如何在hdp2.6上启用python3支持

yh2wf1be  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(485)

HDP2.6(hortonworks数据平台)不支持python3。而Python3(或Python3)是高度赞赏许多数据科学家。
如何在hdp2.6上启用python3支持?

j5fpnvbx

j5fpnvbx1#

限制在少数文件中
/usr/bin/hdp选择
/etc/hadoop/conf/topology\u脚本.py
2to3应用程序可用于转换python文件以支持python3。

2to3 -w /usr/bin/hdp-select
2to3 -w /etc/hadoop/conf/topology_script.py

对/etc/hadoop/conf/topology\u script.py稍作修改,以支持python2和python3。
在这些更改之后,knox无法重新启动。
在做了调查之后,尽管更改使python2和python上的python代码都可以运行。行为略有不同。
在knox重启期间将执行以下命令

ambari-python-wrapper /usr/bin/hdp-select packages

原始脚本输出将类似于

Packages:
  accumulo-client
  accumulo-gc

...

在2to3更改之后,脚本输出将类似于

Packages:
(' ', 'accumulo-client')
(' ', 'accumulo-gc')

这两种输出肯定是不同的。以及使用这些标准输出作为接口的hdp。
其效果可以归结为以下代码。两个print语句有不同的输出。

pkg = "knox-server"
print " ", pkg

print(" ", pkg)

将print语句更改为 print(" ", pkg) 解决了这个问题

相关问题