311.5. Hive 任务
除了使用 RDD 或 DataFrame Spark 组件外,还可接收 Hive SQL 查询作为有效负载。 要将 Hive 查询发送到 Spark 组件,请使用以下 URI:
spark RDD producer
spark:hive
以下片段演示了如何将消息作为输入发送到作业并返回结果:
调用 spark 任务
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; }