[解決済み] RDD/Spark DataFrameの特定の列に基づく行からの重複の除去
2023-05-17 18:47:53
質問
例えば、次のような形式のかなり大きなデータセットがあるとします。
data = sc.parallelize([('Foo',41,'US',3),
('Foo',39,'UK',1),
('Bar',57,'CA',2),
('Bar',72,'CA',2),
('Baz',22,'US',6),
('Baz',36,'US',6)])
1列目、3列目、4列目の値のみに基づいて、重複する行を削除したいのですが、どうすればよいでしょうか?
完全に重複した行を削除するのは簡単です。
data = data.distinct()
で、5行目か6行目が削除されます。
しかし、列1、3、4のみに基づいて重複した行を削除するにはどうすればよいのでしょうか? つまり、どちらか一方を削除してください。
('Baz',22,'US',6)
('Baz',36,'US',6)
Pythonでは、これはカラムを
.drop_duplicates()
. Spark/Pysparkで同じことを実現するにはどうすればよいでしょうか?
どのように解決するのですか?
Pyspark
は
を含む
dropDuplicates()
メソッドを含んでいます。これは 1.4 で導入されました。
https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrame.dropDuplicates
>>> from pyspark.sql import Row
>>> df = sc.parallelize([ \
... Row(name='Alice', age=5, height=80), \
... Row(name='Alice', age=5, height=80), \
... Row(name='Alice', age=10, height=80)]).toDF()
>>> df.dropDuplicates().show()
+---+------+-----+
|age|height| name|
+---+------+-----+
| 5| 80|Alice|
| 10| 80|Alice|
+---+------+-----+
>>> df.dropDuplicates(['name', 'height']).show()
+---+------+-----+
|age|height| name|
+---+------+-----+
| 5| 80|Alice|
+---+------+-----+
関連
-
[解決済み] Spark が "java.net.URISyntaxException" を報告するのはなぜですか?DataFrameを使用する際に「java.net.URIStyntaxException: Relative path in absolute URI」と表示されるのはなぜですか?
-
[解決済み] Apache SparkとAkkaの比較【終了しました
-
[解決済み] ShuffledRDD、MapPartitionsRDD、ParallelCollectionRDDの違いは何ですか?
-
[解決済み] 実行中のSparkアプリケーションを終了させるには?
-
[解決済み] spark checkpointとpersist to a diskの違いは何ですか?
-
[解決済み】SparkのDataFrame、Dataset、RDDの違いについて
-
[解決済み】mapとflatMapの違いと、それぞれの良い使用例について教えてください。
-
[解決済み] Sparkジョブがorg.apache.spark.shuffle.MetadataFetchFailedExceptionで失敗する理由は何ですか?Shuffle 0 の投機モードでの出力場所がない?
-
[解決済み] Apache SparkのWeb UIにおける「Stage Skipped」の意味とは?
-
[解決済み] sparkのexecutor数、cores、executor memoryのチューニング方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] spark.sql.autoBroadcastJoinThresholdは、Datasetの結合演算子を使用して結合するために動作しますか?
-
[解決済み] SparkでcreateOrReplaceTempViewはどのように動作するのですか?
-
[解決済み] PySparkのデータフレームで、各キーのパーセンタイルはどのように計算されますか?
-
[解決済み] Spark が "java.net.URISyntaxException" を報告するのはなぜですか?DataFrameを使用する際に「java.net.URIStyntaxException: Relative path in absolute URI」と表示されるのはなぜですか?
-
[解決済み] spark 2.4.4 をインストールした後に pyspark を実行しようとすると、「TypeError: an integer is required (got type bytes)」というエラーが発生するのを修正する方法
-
[解決済み] スパークジョブとは?
-
[解決済み] 実行中のSparkアプリケーションを終了させるには?
-
[解決済み] TypeError: 'Column' オブジェクトは WithColumn を使用して呼び出すことができません。
-
[解決済み】Spark StandaloneクラスタのWorker、Executor、Coreとは何ですか?
-
[解決済み] Apache SparkのWeb UIにおける「Stage Skipped」の意味とは?