无法运行python脚本
我试图运行Phoenix Apache开源项目附带的performance.py脚本。无法运行python脚本
每指令(我是新来的Python),我执行:
performance.py localhost 999
我得到这个错误:
Phoenix Performance Evaluation Script 1.0
-----------------------------------------
Creating performance table...
Error: Could not find or load main class org.apache.phoenix.util.PhoenixRuntime
Query # 1 - Count - SELECT COUNT(1) FROM PERFORMANCE_999;
Query # 2 - Group By First PK - SELECT HOST FROM PERFORMANCE_999 GROUP BY HOST;
Query # 3 - Group By Second PK - SELECT DOMAIN FROM PERFORMANCE_999 GROUP BY DOM
AIN;
Query # 4 - Truncate + Group By - SELECT TRUNC(DATE,'DAY') DAY FROM PERFORMANCE_
999 GROUP BY TRUNC(DATE,'DAY');
Query # 5 - Filter + Count - SELECT COUNT(1) FROM PERFORMANCE_999 WHERE CORE<10;
Generating and upserting data...
Error: Unable to access jarfile 999
Error: Could not find or load main class org.apache.phoenix.util.PhoenixRuntime
所以不知道怎么回事就在这里。错误Error: Unable to access jarfile 999
表明我没有正确传递值。但是,我正在按照该脚本中的说明进行操作。
我错过了什么?
P.S.这是发生在Windows Server 2012
该脚本使用该行:
subprocess.call("java -jar %s %s" % (phoenix_utils.testjar, rowcount), shell=True)
而且从你的输出,该phoenix_utils.testjar
显然是空白。你确定你的Java环境安装正确吗?
甚至更高,它说:
Error: Could not find or load main class org.apache.phoenix.util.PhoenixRuntime
我可以从命令行运行java.exe并找到它。所以我认为它设置得相当好(因为所有其他的java东西运行良好)。它是Azure中的一个Hadoop/HBase集群,所以我假设他们知道他们在做什么。 – AngryHacker
当脚本运行时,它是否具有与在命令提示符中运行自己时相同的类路径? python创建一个进程并使用不同的环境变量运行它可能会有些奇怪? –
我也遇到了同样的问题。挖掘脚本,这是由于phoenix-core-xxx-tests.jar在不正确的目录中,所以脚本找不到它。
看着phoenix_utils.py,它将测试jar指向phoenix_root_directory。但是jar实际上位于phoenix_root_directory/lib上。
将jar复制到根目录并cd到phoenix_root_directory/bin并运行performance.py。
我对这个项目不熟悉。你提供的是jarfile,还是包中提供的? – That1Guy