dropDuplicates

重複する行が削除された新しい DataFrame を返します。必要に応じて、特定の列のみを考慮します。

構文

dropDuplicates(subset: Optional[List[str]] = None)

パラメーター

パラメーター タイプ 説明
subset 列名の一覧(省略可能) 重複比較に使用する列の一覧 (既定の [すべての列])。

返品

DataFrame: 重複のない DataFrame。

メモ

静的バッチ DataFrame の場合、重複する行を削除するだけです。 ストリーミング DataFrame の場合、すべてのデータがトリガー間で中間状態として保持され、重複する行が削除されます。 withWatermarkを使用して、重複するデータの遅延を制限し、それに応じてシステムによって状態が制限されます。 さらに、透かしより古いデータは、重複の可能性を回避するために削除されます。

例示

from pyspark.sql import Row
df = spark.createDataFrame([
    Row(name='Alice', age=5, height=80),
    Row(name='Alice', age=5, height=80),
    Row(name='Alice', age=10, height=80)
])

df.dropDuplicates().show()
# +-----+---+------+
# | name|age|height|
# +-----+---+------+
# |Alice|  5|    80|
# |Alice| 10|    80|
# +-----+---+------+

df.dropDuplicates(['name', 'height']).show()
# +-----+---+------+
# | name|age|height|
# +-----+---+------+
# |Alice|  5|    80|
# +-----+---+------+