apache-spark - 使用 sparkmeasure 时 Java 对象不可调用
问题描述
我正在尝试使用 Sparkmeausre 检查我的 Pyspark 代码的性能。我在 Windows 10 上使用 Pycharm 社区版,并正确配置了 Pyspark。我做了“ pip install sparkmeasure ”并且成功安装了sparkmeasure。现在,当我尝试运行这段代码时。
from pyspark import SparkConf , SparkContext
from pyspark.context import SparkContext
from pyspark.sql.session import SparkSession
from sparkmeasure import StageMetrics
sc = SparkContext(master = "local" , appName = "sparkdemo")
spark = SparkSession(sc)
sm = StageMetrics(spark)
我收到错误消息。
File "C:/Users/nj123/PycharmProjects/pythonProject/sparkdemo.py", line 9, in <module>
sm = StageMetrics(spark)
File "C:\Users\nj123\PycharmProjects\pythonProject\venv\lib\site-
packages\sparkmeasure\stagemetrics.py", line 15, in __init__
self.stagemetrics = self.sc._jvm.ch.cern.sparkmeasure.StageMetrics(self.sparksession._jsparkSession)
TypeError: 'JavaPackage' object is not callable
如何解决此错误并将 sparkmeasure 配置为 Pycharm?
解决方案
感谢@user238607。以下是我为解决此问题而执行的步骤。
1. First download Sparkmeasure jar file from Maven Central.
2. Then move this jar file to the spark jar folder. Mine location was, C:\Spark\spark-3.0.1-bin-hadoop2.7\jars
3. Now, Go to pycharm again, and rerun the same code.
推荐阅读
- flutter - 使用不包含 MediaQuery 的上下文调用 MediaQuery.of()
- r - 根据 R 中的日期将行拆分为两个并添加新列
- java - 在二维数组中找到最长的路径(如多米诺骨牌)
- django - Django 不在 Debug True 中提供静态文件
- jupyter-notebook - 为什么这件作品在 jupyter-notebook 中是错误的,而在终端中是正确的?
- c# - 如何从 Windows 10 机器上收到的消息中删除象形文字?
- java - Spring JPA - findAll() 与示例/探针包括相关/加入实体
- bash - 这个 '${image##*/}' 大括号扩展有什么作用?
- python - Pycharm 与 cmd 终端有不同的输出
- css - calc 函数在容器中留下额外的空间,尽管孩子加起来 100% 减去排水沟