Stream Analytics Manager in Hortonworks Data Flow - 2

Stream Analytics Manager의 component들에 대한 정리
Component는 Source(Input) -> Processor(Processing) -> Sink(Output) 순으로 처리가 이루어 진다. 


 1. Source Component
 - 현재 Event Hubs, HDFS, Kafka 3개의 기능만 제공하고 있다.

 1) Event Hubs : MS Azure에서 제공하는 이벤트를 수집, 변환, 저장하는 하이퍼 스케일 원격 분석 수집 서비스


2) HDFS : HDFS URL을 통하여 HDFS 디렉토리에 있는 파일을 Import 함


 3) Kafka : 분산 메세징 큐 서비스인 Kafka를 Source로 이용, Kafka Topic을 만든 뒤 해당 정보를 Schema Registry에 해당 Topic 정보를 입력하고 사용.




2. Processor Component
 - Aggregate, Branch, Join, Projection, Rule, PMML(Predictive Model Markup Language) 6개의 기능 제공.

 1) Join : 2개의 Source에서 들어오는 데이터를 Join한다. Interval을 시간 or Count로 조정하여 수행, Output 컬럼을 지정할 수 있다.


 2) Aggregate : AVG, COUNT, SUM, MAX, MIN등 의 aggregate function을 사용하여 들어오는 데이터를 조작, 역시 Output 컬럼을 지정할 수 있다.


 3) Rule : 어떠한 Rule을 지정하여 데이터를 filtering 한다. EQUALS, NOT_EQUAL, GREATER_THAN, LESS_THAN 등. 비교연산자를 생각하면 될 것 같다.


 4) Projection : IDENTITY, UPPER, LOWER, INITCAP, SUBSTRING, CONCAT, CHAR_LENGTH 함수를 제공


 5) Branch : 어떠한 Rule을 지정하여 데이터를 양방향 Stream으로 나누어 준다.


 6) PMML(Predictive Model Markup Language) : SAM에 등록한 PMML을 이용하여 데이터를 분석한 뒤 결과 값을 Ouput으로 내보낸다. Model Registry 탭에서 PMML을 등록 가능하다.




3. Sink Component
 - 다른 시스템으로 이벤트를 전송하는데 사용, HDFS, HIVE, HBASE, KAFKA, CASSANDRA, JDBC, SOLR, TSDB, DRUID, NOTIFICATION(SMTP) 등등

   * DB(Hive,Hbase 등)의 경우 일반적인 Configuration과 URL, DB Name, Table Name 그리고 Output 정도만 설정하여 주면 된다. 아래는 Hive 설정 예시


   * NOTIFICATION의 경우도 일반적인 SMTP 설정과 같음. E-mail의 내용에 Input으로 받은 정보를 사용할 수 있다. ex) eventTime is ${컬럼명}


댓글

이 블로그의 인기 게시물

Apache Superset(incubating) 정리

YARN & MRv2 리소스 설정

자주 쓰이는 Ambari REST API 정리