我已经将一个csv文件加载到我的spark数据帧中,之后如果我尝试使用approxQuantile
方法计算,这会给我一个错误。尝试使用不同的数据集和不同的列,概率和relativeError。帮助我了解正在发生的事情。
df.approxQuantile("column_name", [0.2,0.3,0.6,1.0], 0)
我收到以下错误:
py4j.protocol.Py4JError:调用o30.approxQuantile时发生错误。跟踪:py4j.Py4JException:方法approx4uantile([class scala.collection.immutable。$ colon $冒号,类scala.collection.immutable。$冒号$冒号,类java.lang.Double])在py4j.reflection中不存在。 ReflectionEngine.getMethod(ReflectionEngine.java:318)at py4j.reflection.Remand.Uvine.getMethod(ReflectionEngine.java:326)py4j.Gateway.invoke(Gateway.java:272)py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java) :132)at py4j.commands.CallCommand.execute(CallCommand.java:79)at py4j.GatewayConnection.run(GatewayConnection.java:214)at java.lang.Thread.run(Thread.java:745)
答案 0 :(得分:1)
如果您的pyspark驱动程序使用Spark 2.2.0并且您的Spark群集正在运行2.1.1(或更早版本),则会发生这种情况。确保您的驱动程序&群集版本匹配,你应该很高兴!
请参阅docs中关于2.2中aboutQuantile接口更改的说明:
2.2版中更改:添加了对多列的支持。