292.5. Hive ジョブ
RDD または DataFrame Spark コンポーネントを使用する代わりに、Hive SQL クエリーをペイロードとして受信することもできます。 Hive クエリーを Spark コンポーネントに送信するには、以下の URI を使用します。
Spark RDD プロデューサー
spark:hive
以下のスニペットは、メッセージをジョブへの入力として送信し、結果を返す方法を示しています。
スパークジョブの呼び出し
long carsCount = template.requestBody("spark:hive?collect=false", "SELECT * FROM cars", Long.class); List<Row> cars = template.requestBody("spark:hive", "SELECT * FROM cars", List.class);
クエリーを実行するテーブルは、クエリーを実行する前に HiveContext に登録する必要があります。たとえば、Spring では以下のように登録できます。
Spark RDD の定義
@Bean DataFrame cars(HiveContext hiveContext) { DataFrame jsonCars = hiveContext.read().json("/var/data/cars.json"); jsonCars.registerTempTable("cars"); return jsonCars; }