10

私はApache Sparkの初心者です。

私の仕事は、2 つの CSV ファイルを読み取り、そこから特定の列を選択し、マージして集計し、結果を 1 つの CSV ファイルに書き込むことです。

例えば、

CSV1

name,age,deparment_id

CSV2

department_id,deparment_name,location

で 3 つ目の CSV ファイルを取得したい

name,age,deparment_name

両方の CSV をデータフレームにロードしています。そして、join,select,filter,dropデータフレームに存在するいくつかのメソッドを使用して3番目のデータフレームを取得できます

私はまた、いくつかを使用して同じことを行うことができますRDD.map()

hiveqlまた、次を使用して実行することで同じことを行うこともできますHiveContext

CSV ファイルが巨大な場合、どの方法が効率的かを知りたいのですが、その理由は何ですか?

4

3 に答える 3

6

DataFrames と spark sql クエリの両方が触媒エンジンを使用して最適化されているため、同様のパフォーマンスが得られると思います (バージョン >= 1.3 を使用していると仮定します)。

どちらも単純な RDD 操作よりも優れているはずです。なぜなら、RDD の場合、spark はデータの型に関する知識を持たないため、特別な最適化を行うことができないからです。

于 2015-07-16T17:28:38.080 に答える