2017-06-28 5 views
-1

SparkSessionを使用してハイブデータベースに接続しています。私は、どのようなデータを豊かにするための最良の方法を決定しようとしています。私はスパークSQLを使用していたが、私はそれを使用するのに疲れている。大規模なクエリまたはデータフレームの変異?

  1. SparkSqlはHive Sqlを呼び出しますか?つまり、Sparkの使用によるパフォーマンスの向上はありませんか?

  2. スパークするために大きなSQLクエリを作成するか、それをデータフレームに変換してスパーク機能を使用して操作しないでください。

+0

これはそれかそれです。スパークを使用してパフォーマンスを向上させることは、多くの問題、つまりデータの局所性、スパース性などに関係しています。ロードするには十分なRAMがあるかどうかにかかわらず、具体的な回答はできません。 @RickMoritzに言及されているように、よくテストする必要があります... – eliasah

答えて

0
  1. いいえ、スパークは、ハイブからデータを読み取りますが、独自の実行エンジンを使用します。パフォーマンスと機能は異なります。 Hiveに使用している実行エンジンによってどれくらいかが異なります。 (M/R、Tez、Spark、LLAP?)
  2. これは同じことです。私はSQLクエリとHiveに対する最初からのA-Bテストに固執しますが、SparkのDataSet APIを使用しているScala/Pythonコードは長期的にはよりユーザーフレンドリーであるため、SQLは維持管理が困難であることが知られています。
関連する問題