| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- kafka ui
- MongoDB
- elasticearch
- ui for kafka
- kafka connect
- elasticsearch
- fluentd
- MariaDB
- SSL
- PrestoDB
- PostgreSQL
- naverdevelopers
- pyspark
- Python
- Kafka
- kibana
- logstash
- Today
- Total
목록전체 글 (33)
Dev_duri
현재 테스트 서버에 아래와 같은 데모 시나리오 테스트/개발 을 완료 하였습니다. 1. NAVER Developers를 활용하여 원하는 키워드의 뉴스를 Crawling 하도록 파이썬 코드를 구성하였습니다. import requests import json import avro from bs4 import BeautifulSoup from fluent import sender from datetime import datetime sender.setup('myapp', host='fluent.host.ip', port=8888) url = 'https://openapi.naver.com/v1/search/news.json?' clientid = "ERgXUWS4ipcN34mBCk2D" clientsecret ..
Airflow란 에어비앤비에서 개발한 워크플로우 스케줄링, 모니터링 플랫폼 입니다. 현재 아파치의 탑레벨 프로젝트에 등록 되어 있으며 Hadoop echosystem 에서 특히 python기반으로 개발 되었기 때문에 Pyspark와 함께 많이 사용되는 툴 입니다. 테스트 서버에 구축 이 완료 되었으며 아래와 같은 시나리오로 개발/테스트 하였습니다. 총 3개의 Pyspark job을 사용하여 워크플로우를 구성 하였습니다. 먼저 csv 형식의 파일을 Postgresql DB에 A테이블에 적재 후 해당 작업 종료 후 2번 작업이 실행 되며 적재된 A테이블의 데이터를 Maria DB 의 A테이블로 ETL 한 후 마지막으로 3번째 작업인 Maria DB 의 A테이블을 Hdfs에 orc 확장자로 Append 하며 ..
Parquet 이란? Parquet 이란 하둡에서 컬럼 기반으로 압축하여 저장하는 저장 포맷을 말합니다. 열(Column) 기반으로 데이터를 처리하면 행(Row) 기반으로 압축했을 때에 비해 데이터의 압축률이 더 높고 필요한 열의 데이터만 읽어서 처리하는 것이 가능하기 때문에 데이터 처리에 들어가는 지원을 절약할 수 있습니다. → 이러한 장점들 때문에 현재 진행중인 프로젝트 초반에는 CSV 파일로 데이터를 처리하다가 현재는 Parquet 파일로 파일 포맷을 변경하여 해당 프로젝트를 진행 중입니다. 확실히 처리속도와 파일크기에 있어서 CSV 파일 보다 큰 차이를 보였습니다. (CSV : 2TB → Parquet : 300GB) Parquet은 하둡 에코시스템 안에서 언제든지 사용 가능한 데이터 저장 포맷으..
PrestoDB KafkaConnector는 kafka Topic의 Data를 테이블 형식으로 정형화 하여 SQL쿼리로 Topic의 Data를 조회 할수 있게 하고 JDBC를 제공 하여 Produser/Consumer API개발에 편의성을 제공합니다. Kafdrop 으로 Kafka Topic Data 조회 PrestoDB catalog에 kafka 프로퍼티 추가 /presto-server-0.273.3/etc/catalog/kafka.properties #커넥터 종류 connector.name=kafka #kafka 브로커 서버 정보 kafka.nodes=ip:9092,ip:9092,ip:9092 #정형화할 Topic name kafka.table-names=tpch.customer,tpch.orders..
현재 개발 서버에 Apache Impala & Kudu 구축이 완료 되었습니다. Apache Impala는 Hadoop에서 실행되는 쿼리 엔진 입니다 HDFS에 적재되어 있는 Data를 SQL을 이용해 실시간으로 분석할 수 있는 시스템 이고 MaapReduce프레임워크를 이용하지 않고 분산 질의 엔진을 이용해 분석하기 때문에 빠른 결과를 제공합니다. kudu는 Apache Hadoop Ecosystem 저장소 중 하나로 Columnar Storage 입니다. Columnar 형식으로 HBase와 같이 NoSQL이 아니므로 schema를 가지고 있으며, column별로 파일을 저장 합니다. 임팔라 구동 화면 Kudu 구동 화면 Impala Table 생성 Kudu UI 에서 Impala에 생성된 테이블 확..
현재 개발서버에 아래 구성도와 같이 Impala/Kudu 에 적재 되어 있는 Data를 Kafka Connector로 추출하여 Kafka Topic에 적재하는 데모를 구축 하였습니다. Impala Data 확인 kafka Connector 구동 화면 Kafka Kudu Source Connector 코드 { "name": "kudu-source", "config": { "connector.class": "io.confluent.connect.kudu.KuduSourceConnector", "tasks.max": "1", "impala.server": "10.65.41.128", "impala.port": "21050", "kudu.database": "test", "mode": "incrementing"..
Apache Beam은 ETL, batch, streaming 파이프라인을 처리하기 위한 unified programming model 입니다. Beam의 가장 큰 특징은 다양한 랭귀지와 다양한 runner를 지원한다는 것 이고 Beam SDK를 통해 다양한 runner에서 데이터를 처리할 수 있게 합니다. Beam SDK 를 사용하여 테스트 서버에 구축되어 있는 Kafka 에 간단한 데모를 Python으로 구현 하였습니다. Producer 소스 from __future__ import print_function import apache_beam as beam from apache_beam.options.pipeline_options import PipelineOptions from beam_nugget..
EFK란 Elasticsearch + Fluentd + Kibana 입니다. 쿠버네티스환경에서 수많은 컨테이너의 로그를 수집하여 통합적으로 로그를 UI로 확인할 수 있는 인터페이스입니다. 테스트 서버에 아래 같은 데모를 구축하여 테스트 완료 하였습니다. 먼저 MariaDB에 적재 되어 있는 Table의 Data를 Fluentd가 아래 소스와 같이 SQL을 사용하여 json형식으로 추출하고 Kafka에 PUB해준 후 Topic에 적재된 Data를 다시 SUB하여 ElasticSearch에 넣어 줍니다. 이후 kibana에서 해당 Index 패턴을 정의 해준 후 Dashboard형식으로 표출 합니다. Mysql To Kafka 소스 @type mysql_replicator host IP username ro..