どのような状況で、Apache Sparkの代わりにDaskを使用できますか?[閉まっている]
クローズ。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前に閉鎖されました。 この質問を改善する 私は現在、データ分析にPandasとSparkを使用しています。Daskが並列化されたNumPy配列とPandasDataFrameを提供していることがわかりました。 Pandasは、Pythonでデータ分析を行うのに簡単で直感的です。しかし、システムメモリが限られているため、パンダで複数の大きなデータフレームを処理するのは困難です。 簡単な答え: Apache Sparkは、分散コンピューティング、SQLクエリ、機械学習などを組み合わせた包括的なフレームワークであり、JVMで実行され、通常、Hadoopなどの他のビッグデータフレームワークと共同でデプロイされます。...一般的に、DaskはSparkよりも小型で軽量です。 http://dask.pydata.org/en/latest/spark.htmlから以下の詳細を知ることができます Daskは軽量です Daskは通常、単一のマシンで使用されますが、分散クラスターでも適切に実行されます。 Daskは、並列配列、データフレーム、機械学習、カスタムアルゴリズムを提供します Daskはそれ自体がPythonライブラリであるため、Pythonユーザーにとって利点があります。そのため、問題が発生した場合のシリアル化とデバッグがよりスムーズに行われます。 Daskは、ユーザーがより複雑な並列アルゴリズムを表現できるように、高度な理解を放棄します。 Daskは軽量で、既存のコードやハードウェアに簡単に統合できます。 すべてを実行する単一のプロジェクトが必要で、すでにビッグデータハードウェアを使用している場合は、Sparkが安全です。 Sparkは通常、中小規模のクラスターで使用されますが、単一のマシンでも正常に動作します。 以下のリンクからDaskについて詳しく理解しています https://www.continuum.io/blog/developer-blog/high-performance-hadoop-anaconda-and-dask-your-cluster Pandas、NumPy、またはPythonで他の計算を使用しているときに、単一のマシンでメモリの問題、ストレージの制限、またはCPUの境界に遭遇した場合、Daskは単一のマシンのすべてのコアでスケールアップまたはスケールアウトするのに役立ちますクラスタ全体のすべてのコアとメモリで。 Daskは、単一のマシンでうまく機能し、ラップトップのすべてのコアを利用して、メモリよりも大きいデータを処理します 数百のノードを持つクラスターで弾力的かつ弾力的にスケールアップします。 Daskは、Hadoop分散ファイルシステム(HDFS)やAmazon S3など、さまざまな形式やストレージシステムのデータを使用してPythonからネイティブに動作します。AnacondaとDaskは、ClouderaCDHやHortonworksHDPなどの既存のエンタープライズHadoopディストリビューションと連携できます。 http://dask.pydata.org/en/latest/dataframe-overview.html 制限事項 Dask.DataFrameは、Pandasインターフェース全体を実装しているわけではありません。これを期待しているユーザーはがっかりするでしょう。特に、dask.dataframeには次の制限があります。 ソートされていない列から新しいインデックスを設定するにはコストがかかります groupby-applyやソートされていない列での結合などの多くの操作では、インデックスを設定する必要がありますが、前述のようにコストがかかります PandasAPIは非常に大きいです。Dask.dataframeは、多くのパンダ機能やNDFrameのようなよりエキゾチックなデータ構造の実装を試みません。 Dask開発者に感謝します。非常に有望な技術のようです。 全体として、Daskはsparkよりも使いやすいことがわかります。DaskはPandasと同じくらい柔軟性があり、より多くのCPUの並列処理で計算する能力があります。 Daskに関する上記の事実をすべて理解しています。 では、Daskで処理できるデータの量(テラバイト単位)はおおよそどれくらいですか?