2016-07-19 1 views
0

Hadoopベースのプラットフォーム用のストレージ部分を設計する際に、この問題が発生しました。既にリレーショナルデータベース(Azure仮想マシンのSQLサーバなど)に格納されているテーブルにデータ科学者がアクセスできるようにするには、SQLサーバからテーブルをインポートすると特別なメリットがありますHDFS(例:WASB)にコピーし、その上にHiveテーブルを作成しますか?SparkSQLを使用してHiveテーブルにアクセスすると、JDBCを使用してSQLサーバーからテーブルを読み取る場合と比べて、どのような利点がありますか?

つまり、SparkではJDBCを使用して他のデータベースからデータを読み取ることができるため、データベースからテーブルをHDFSの適切な形式(avro、parquetなど)で保存し、SparkSQLを使用するとパフォーマンスが向上します。 HQLを使用してそれらにアクセスしますか?

この質問が尋ねられた場合、私はいくつかの調査を行ったが、2つの方法論を比較することはできなかった。

+0

あなたのタイトルはあなたの質問と一致しません。 – EJP

+0

@EJP私は混乱を招いて申し訳ありません。どちらの部分に意見がありますか?私はそれを明確にするために質問を修正することができます。 – Lubor

答えて

0

データがローカルなのでパフォーマンスが大幅に向上すると思います(SparkはHDFS上にデータが保存されている同じHadoopクラスタ上で実行されていると仮定します)。実行されたアクション/処理が対話型の場合、JDBCを使用して別のマシン(N/Wの待ち時間とIOスループット)からデータがロードされるのを待たなければなりません。すぐに行動を起こす。

関連する問題