FAQ#

PySpark の DataFrame API と pandas API on Spark のどちらを使用すべきですか?#

すでに pandas に慣れていて、Spark をビッグデータに活用したい場合は、pandas API on Spark の使用をお勧めします。Spark をゼロから学習する場合は、PySpark の API から始めることをお勧めします。

pandas API on Spark は Structured Streaming をサポートしていますか?#

いいえ、pandas API on Spark は公式には Structured Streaming をサポートしていません。

回避策として、Structured Streaming の foreachBatch で pandas-on-Spark API を使用できます。これによりバッチ API が可能になります。

>>> def func(batch_df, batch_id):
...     pandas_on_spark_df = ps.DataFrame(batch_df)
...     pandas_on_spark_df['a'] = 1
...     print(pandas_on_spark_df)

>>> spark.readStream.format("rate").load().writeStream.foreachBatch(func).start()
                timestamp  value  a
0 2020-02-21 09:49:37.574      4  1
                timestamp  value  a
0 2020-02-21 09:49:38.574      5  1
...

pandas API on Spark は Dask とどのように異なりますか?#

プロジェクトごとに重点が異なります。Spark は事実上すべての組織で既に導入されており、データレイクに保存されている大量のデータへの主要なインターフェイスとなっていることがよくあります。pandas API on Spark は Dask に触発されており、データサイエンティストが pandas から Spark への移行を容易にすることを目的としています。