1

WSO2 ESB 4.5.1 と WSO2 BAM 2.0.0 を使用しています。私の Hive スクリプトでは、後で SQL ステートメントで使用できるように、単一の値を取得して変数に代入しようとしています。hiveconf を使用して変数を使用できますが、結果セットから単一の値を割り当てる方法がわかりません。何か案は?ありがとう。

4

1 に答える 1

0

このサマライザーと同様に、 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} として使用できます。

お役に立てれば。

于 2013-01-31T08:46:59.590 に答える