2017-09-19 12 views
0

approxQuantileメソッドを使用して計算しようとすると、私のスパークデータフレームに1つのcsvファイルがロードされましたが、エラーが発生します。異なるデータセットと異なる列、probablibities、およびrelativeErrorで試行します。何が起こっているのか理解してください。 Pyspark approxQuantile throwing error

df.approxQuantile("column_name", [0.2,0.3,0.6,1.0], 0) 

私は、次のエラーを取得しています:

py4j.protocol.Py4JError: An error occurred while calling o30.approxQuantile. Trace: py4j.Py4JException: Method approxQuantile([class scala.collection.immutable.$colon$colon, class scala.collection.immutable.$colon$colon, class java.lang.Double]) does not exist at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:318) at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:326) at py4j.Gateway.invoke(Gateway.java:272) at 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)

+1

あなたのデータ型は、( 'df.printSchema()')何ですか? 整数(真= NULL可能)| - :整数(真= NULL可能) |:| - - B: 整数(真= NULL可能)F J - | – MaFF

+0

すべての列がタイプの "整数" ルート です-l:integer(nullable = true) -e:整数(nullable = true) -c:整数(nullable = true) | - g:整数(NULL可能= true) | -h :整数(nullable = true) - m:整数(nullable = true) | - a:整数(nullable = true) | - k:整数(NULL可能= true) | d:整数(nullable = true) | - i:integer(nullable = true) –

答えて

1

あなたpysparkドライバがスパーク2.2.0を使用しているし、あなたのスパーククラスタが2.1.1(またはそれ以前)を実行している場合に発生することができます。あなたのドライバ&のクラスタバージョンが一致していることを確認してください。

は2.2でapproxQuantileするためのインタフェースへの変更についてdocsに注意を参照してください:

Changed in version 2.2: Added support for multiple columns.

+0

このエラーを解決するにはどうすればよいですか?どのようにしてpysparkドライバとspark clusterのバージョンが分かりますか? –

+1

修正するには、ドライバまたはクラスタが古いバージョンを実行しているかどうかを確認します。その後、他のコンポーネントが稼働しているバージョンと一致するようにコンポーネントをアップグレードしてください。 (おそらくSparkのWebサイトからダウンロードしてください)。スパークのバージョンを確認するにはこちらをご覧ください:https://stackoverflow.com/questions/38586834/how-to-check-spark-versionまた、あなたはpysparkを使っているようです。あなたはこれであなたのpysparkのバージョンを見ることができます:pip freeze |グレープスパーク –

関連する問題