2016-05-07 7 views
3

をドロップすることができませんでしこんにちは私は、スパークのデータフレームを作成している、と私は重複を削除しようとしています:PySparkデータフレームは、重複

df.drop_duplicates(subset='id') 

私は次のエラーを取得する:

Py4JError: An error occurred while calling z:org.apache.spark.api.python.PythonUtils.toSeq. Trace: 
py4j.Py4JException: Method toSeq([class java.lang.String]) does not exist 
    at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:335) 
    at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:360) 
    at py4j.Gateway.invoke(Gateway.java:254) 
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133) 
    at py4j.commands.CallCommand.execute(CallCommand.java:79) 
    at py4j.GatewayConnection.run(GatewayConnection.java:209) 
    at java.lang.Thread.run(Thread.java:745) 

はOSX 10.11 を使用しています.4、スパーク1.6.1

このようなジュピターノートを実行しました

PYSPARK_DRIVER_PYTHON=jupyter PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark 

私が逃したかもしれない、または間違っているかもしれない他の設定がありますか?

答えて

5

drop_duplicates/dropDuplicatesの引数は、Javaの同等の文字を単一の文字列ではなくScala Seqに変換できる名前の集合でなければなりません。

df.drop_duplicates(subset=['id']) 

またはtuple

df.drop_duplicates(subset=('id',)) 
+0

くそー、ありがとうございますいずれかlistを使用することができます。私はそれが正しく見えませんでした。それはpandas dfsと同じように働いたと思った。 – Max

関連する問題