Apache Flume Sink - Types of Sink in Flume - DataFlair (data-flair.training)
해당 문서 참고하여 번역, 저에게 지금 필요한 부분만 남겼습니다.
Flume sink는 중앙화 되어있는 방식으로 Data를 모은다. Sink에 HDFS, HBase 등등이 쓰이는 데
Flume channel로 쌓이 이벤트들을 소비한다.
Flume agent로 부터 event를 소비해서 다른 fluem agent에게 넘기거나, other system으로 보내는 대상을 Flume sink라고한다.
가능한 Flume sink의 타입을 보자면 다음과 같다.
HDFS
file format supported : text, sequential file
두가지의 파일 포맷에 압축을 제공
file size나 event number에 관련해서 file rolling 가능
data partitioned 가능
전제 조건 : Hadoop이 설치되어 있어야 함
Hive Sink
event contatining delimited text or json data into hive table or partition (with hive transaction)
Hive table로 insert되면 바로 hie query로 사용가능 하며, partition을 미리 생성하거나 Flume이 만들 수 있다.
Logger Sink
info level log들 취합을 위함
-> test, debug 를 위한 목적이고 extra configuration은 사용할 수 없음
Avro Sink
flume event를 avro event로 변경하여 지정된 hostname/port 페어로 전달
batch size에 맞게 batch 성격으로 가져감 (대부분이 avro sink사용)
Thrift Sink
Avro sink와 비슷하게 flume event 를 thrift events로 변경하여 configured hostname/ port pair로 변경
batch 형태로 가져감
Authentication 가능
IRC Sink
irc destination 으로 지정 가능
File Roll Sink
sink stores event on the local filesystem
batch size 및 path manager 설정 가능
Null Sink
discard flume event -> disappear
HBase Sink
Hbase에 데이터를 작성. HBAse관련 설정 파일은 classpath에서 발견되는 첫번째 hbase-site.xml 파일을 참고
해당 문서에 명시된 HbaseEventSerializer를 extends한 class를 통해 event 를 HBase put, increment로 변환
- row wise atomicity를 보장 (실패시 자동으로 재시도)
- Kerberos authentication 사용
Serializer
- SimpleHbaseEventSerializer
write event body as body
- RegexHbaseEventSerializer
breaks the event body on the basis of the given regex -> to each columns
AsyncHbaseSink
write data to HBase in asynchronous model
- use AsyncHbaseEventSerializer
- only with HBase 1.x
ElasticSearchSink
event가 쓰여지면 Kibana graphical interface displace them
- elasticserach and lucene-core jar가 flume installation lib에 잇어야함
- client 와 server version이 minor version까지 같아야한다.
Kafka Sink
sink event -> kafka topic
to make full basis system on the process data coming from various source code
+ kafka는 각 파티션 내에서의 순서는 보장하지만
파티션을 모아봤을 때 순서를 보장하진 않는다. (Kafka 운영자가 말하는 처음 접하는 Kafka | Popit 참고)
HTTP Sink
- HTTP POST Request
- content as post body
Custom Sink
add Sink class
'Computer Science' 카테고리의 다른 글
Jinja2 Template _ 공부(1) (0) | 2021.05.11 |
---|---|
Python _ 나의 단기기억 보관함 (0) | 2021.05.10 |
Priority Queue <E> - java 생성자 (0) | 2021.03.08 |