2017-09-28 17 views
-1

これは前のquestionのフォローアップです。
は、キー値のペアの順序付けられたセットです。 DataFrameRowsのコレクションです。
実際にはDataFrameというデータ構造は何ですか?リスト、セット、または他の「コレクション」ですか?それはSQLのようにrelationですか?SparkのDataFrameはどのようなデータ構造ですか?

+0

私が答えようとする前に、_ "Rowは順序付けされたキーバリューペアです。また、あなたが_ "DataFrameは行のコレクションです"と言ったとき、あなたは他の質問に答えなかった_ "DataFrameは実際に何のデータ構造ですか?" –

+0

(1)行が順序付けされたセットであると言って間違っていました。(前の質問のコメントを参照してください)(2)_DataFrameは行のコレクションです。私はより "理論的"な答えを探しています。 – Michael

答えて

1

それはRDD[Row]以上の抽象化だ、またはSpark2でDataset[Row]、一連Columnクラス

を設定して定義されたスキーマでは、リスト、セット、または他の「コレクション」となっていますか?

Javaの言葉ではありません。 RDDとはまったく同じではなく、むしろ「遅延コレクション」

SQLと同様の関係ですか?

SparkSQLをDataframeで実行することはできますが、それはテーブルです。関係はオプションです

1

DataframeはRDDよりも抽象的ですが、Dataframeの内部表現はRDDとはまったく異なります。

RDDはJavaオブジェクトとして表され、すべての操作にJVMを使用します。ただし、Dataframeはタングステンで表されます。

ここには、データフレームがタングステンでどのように表現されているかを詳しく説明する優れたarticleがあります。

関連する問題