私のタスクは 1) 最初に、SQOOP を使用して MS SQL Server から HDFS にデータをインポートしたいと考えています。2) Hive を介してデータを処理し、結果を 1 つのテーブルに生成します。3) Hive からの結果を含むテーブルは、再び MS SQL SERVER にエクスポートされます。
Amazon Elastic Map Reduce を使用して、これらすべてを実行したいと考えています。
MS SQL Server からインポートしているデータは非常に大きいです (1 つのテーブルに約 5,00,000 エントリ近くあります。同様に 30 個のテーブルがあります)。このために、クエリのみを含むタスクを Hive で作成しました (各クエリでは多くの結合が使用されています)。そのため、私の単一のローカル マシンではパフォーマンスが非常に悪くなります (完全に実行するには約 3 時間かかります)。
その時間を少しでも減らしたい。そのために、Amazon Elastic Mapreduce を使用することにしました。現在、3 つの m1.large インスタンスを使用していますが、ローカル マシンと同じパフォーマンスを維持しています。
パフォーマンスを向上させるには、いくつのインスタンスを使用する必要がありますか? 使用するインスタンスの数は自動的に構成されますか、または実行のために JAR を送信するときに指定する必要がありますか? 私は2台のマシンを使用しているため、時間は同じです。
また、パフォーマンスを改善したり、インスタンスの数を増やしたりする他の方法はありますか。それとも、JAR の実行中に何か間違ったことをしていますか?
私はAmazonサーバーについてあまり詳しくないので、これについて教えてください。
ありがとう。