본문 바로가기
Computer Science

Flume Sink Types

by wisejlog 2021. 12. 7.

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