스트림 생성과 변환 적용 등 지금까지 수행한 모든 작업은 선언적이다. 이들은 데이터를 소비하
는 위치와 어떤 작업을 적용하려는지 정의한다. 그러나 지금까지는 시스템을 통해 흐르는 데이
터가 없었다.
스트림을 시작하기 전에 먼저 출력 데이터의 위치
where
와 방법
how
을 정의해야 한다.
●
스트리밍 싱크와 관련된 위치: 스트리밍 데이터의 수신측
●
출력 모드를 언급하는 방법: 스트림에서 결과 레코드를 처리하는 방법
API
관점에서 [예제
8
-
6
]에 표시된 것처럼 스트리밍 데이터프레임 또는 데이터셋에서
writeStream
을 호출하여 스트림을 구체화한다.
스트리밍 데이터셋에서
writeStream
을 호출하면
DataStreamWriter
가 생성된다. 이는 스트
리밍 프로세스의 출력 동작을 구성하는 메서드를 제공하는 빌더 인스턴스다.
예제
8-6
파일 스트리밍 싱크
val query
=
stream
.
writeStream
.
format
("
json
")
.
queryName
("
json
-
writer
")
.
outputMode
("
append
")
.
option
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.