WSO2 ESB 4.5.1 と WSO2 BAM 2.0.0 を使用しています。私の Hive スクリプトでは、後で SQL ステートメントで使用できるように、単一の値を取得して変数に代入しようとしています。hiveconf を使用して変数を使用できますが、結果セットから単一の値を割り当てる方法がわかりません。何か案は?ありがとう。
1 に答える
このサマライザーと同様に、 AbstractHiveAnalyzerを拡張し、クエリを実行してハイブ conf 値を設定する独自のクラスを作成できます。ここで、execute() メソッドを実装する必要があり、これが BAM によって呼び出されることがわかります。ここで、好みのクエリを追加し、「setProperty("your_hive_conf", yourResult.string());」でハイブ conf を割り当てることができます。
Java アプリケーションは、典型的な「.jar」ファイルまたは osgi バンドルとして構築できます。「.jar」ファイルとしてパッケージ化した場合は、jar を $BAM_HOME/repository/components/lib に配置する必要があります。アプリケーションを osgi バンドルとしてパッケージ化した場合は、ファイルを $BAM_HOME/repository/components/dropins フォルダーに配置します。そして、BAM サーバーを再起動します。
最後に、BAM に追加するハイブ スクリプトに、拡張クラスを「class your.package.name.HiveAnalyzerImpl;」として含める必要があります。これにより、BAM は、クラスに実装した execute() メソッドを実行し、 hive conf が設定されます。次に、hive conf に設定した値は、hive スクリプトで ${hiveconf:your_hive_conf} として使用できます。
お役に立てれば。