ハイブを使用しています。その中にいくつかのタスクを実装し、SQOOP を使用して Hive から SQL Server にテーブルをエクスポートしたいと考えました。
テーブルが Hive からエクスポートされたら、SQL Server でトリガーを起動したいと思います。トリガーを発射することは可能ですか?
Pls はできるだけ早く私に返信します。
ありがとう。
ハイブを使用しています。その中にいくつかのタスクを実装し、SQOOP を使用して Hive から SQL Server にテーブルをエクスポートしたいと考えました。
テーブルが Hive からエクスポートされたら、SQL Server でトリガーを起動したいと思います。トリガーを発射することは可能ですか?
Pls はできるだけ早く私に返信します。
ありがとう。
原則として、疫病のような引き金は避けてください。それらは最終手段のツールです。トリガーで実行できることはすべて、ストアド プロシージャで 1,000 倍も高速に実行できます。ビジネス ロジックは、可視化され、最適化され、ソース管理下で理解しやすくなります。トリガーはデータベース世界のグローバル変数です。他に技術的な解決策がない場合を除き、避けてください。
SQL Server に求めるパフォーマンスが向上し、それを実現するために Hive を使用している場合は、間違った方法で行っていることになります。ビジネス ロジックを、調整可能なストアド プロシージャに移動することを検討するのではなく、トリガーに埋め込むよりも。
Hive を使用して問題を解決することは、クルミをクラックするための本当の大ハンマーです。データセットが非常に大規模 (100Tb 以上) であり、実際に移動する必要がある場合を除き、SQL Server のパフォーマンスを向上させるためにコーディング プラクティスを確認することをお勧めします。 Hadoop と Hive に基づいた分散型のスケールアウト ソリューションです。なぜこのようにしているのかを自問してください。小規模なデータ セットでこれを行うことは、リレーショナル エンジンが比較的控えめなハードウェアで実行できることを実際に無視していることを示しています。私たちは皆、履歴書を新しいテクノロジーで装飾したり、何か新しいものを試してみたいと思ったりすることに罪を犯していますが、技術アーキテクチャに関しては、それが必要かどうかを自問する必要があります. 私は反 SQL Server ではなく、反 Hive/Hadoop でもありません。どちらにもそれぞれの場所があり、コースには馬がいます。しかし、私は間違いなくアンチトリガーです。
トリガーを作成してこれを試したところ、正常に動作しました!!! これで私の仕事はとても簡単になりました。
トリガー AFTER INSERT を作成しました。