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 への移行を容易にすることを目的としています。