313.6. Hive 작업
RDD 또는 DataFrame Spark 구성 요소에서 작업하는 대신 Hive SQL 쿼리를 페이로드로 수신할 수도 있습니다. Hive 쿼리를 Spark 구성 요소로 보내려면 다음 URI를 사용합니다.
Spark RDD 생산자
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 Dataset<Row> cars(HiveContext hiveContext) { jsonCars = hiveContext.read().json("/var/data/cars.json"); jsonCars.registerTempTable("cars"); return jsonCars; }