2016-04-12 23 views
-2

私はSparkには新しく、今はいくつかのMLアルゴリズムを実行しているSparkRで遊んでいます。私はしばしばローカルのRデータフレームとSparkRデータフレームについて混乱します。ローカルRデータフレームとSparkRデータフレームの違いは何ですか?彼らの関係は何ですか?そして彼らとRDDの関係は何ですか?ローカルRデータフレームとSparkRデータフレームとRDDとの違いと相違

ありがとうございました。

答えて

1

RDDはデータフレームとは動作が異なります。 RDDはパイプライン内に存在します。パイプラインには、関数を適用するたびに、それぞれが前のものの反復となります。各反復はメモリに別々に格納されず、RDDがどこに到着したかを知っている最後の反復として存在します。大まかに言って、ラムダ関数などでは機能的なアプローチをとる必要があり、forループのような操作はRDDでは機能しません。この方法でデータを保存することで、Sparkは従来のmap-reduceパッケージよりもずっと迅速になります。

SparkRデータフレームには、ローカルフレームと比較してさまざまな機能が用意されています。私は(これはpysparkデータフレームとローカルパンダのデータフレームの場合です)、新しい列を追加してディスクに新しいデータフレームを保存するために使用する関数を想定しています。たとえば、pysparkデータフレームでは、従来のpythonの代わりにwithColumn()関数を使用して列を追加します。したがって、SparkRフレームは主にスパークライブラリに限定されているため、一般に、ローカルフレームで古典的に使用する特定の関数はSparkRフレームでは機能しません。