次のような 2 つの Hive スクリプトがあります。
スクリプト A:
SET hive.exec.dynamic.partition=true; SET hive.exec.dynamic.partition.mode=non-strict; SET hive.exec.parallel=true; ... do something ...
スクリプト B:
SET hive.exec.dynamic.partition=true; SET hive.exec.dynamic.partition.mode=non-strict; SET hive.exec.parallel=true; ... do something else ...
各スクリプトの最初に設定するオプションは同じです。スクリプトが次のようになるように、何らかの方法でそれらを共通の場所 (たとえば、commonoptions.sql) に抽出することは可能ですか?
スクリプト A:
<run commonoptions.sql> ... do something ...
スクリプト B:
<run commonoptions.sql> ... do something else ...
理想的には、テーブル定義も抽出したいので、次のようにします。
スクリプト A:
<run commonoptions.sql> <run defineExternalTableXYZ.sql> ... do something with Table XYZ ...
スクリプト B:
<run commonoptions.sql> <run defineExternalTableXYZ.sql> ... do something else with Table XYZ ...
そうすれば、TableXYZ の定義を 1 か所で管理できます。Hive CLI を使用していません。Hive ステップで Amazon EMR を使用しています。