일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- airflow
- SlackWebhookOperator
- HDFS
- execution_date
- Scala
- Service
- 람다 아키텍처
- Namenode
- HIVE
- Kafka
- slack app
- HBase
- Example DAG
- docker
- NoSQL
- Lambda architecture
- HDP
- 빅데이터
- hadoop
- Windows
- MapReduce
- 정규표현식
- yarn
- re
- python
- slack
- ambari
- LDAP
- java
- jupyter
- Today
- Total
목록BigData (73)
IT 삽질기

HBase Compaction에 대해서 알아보도록 하자. Compaction에 대해 알기 전에 HBase에서 데이터를 저장하기 위한 과정에 대해 먼저 알아야 하는데, 아래의 글을 참고하도록 하자. 2021.05.15 - [BigData/HBase] - HBase 데이터 쓰기/읽기 과정 위의 글에서 HBase에 데이터를 쓸 때, Memstore에 저장되어 있는 데이터를 HFile 형식으로 저장한다고 설명되어 있는데, Compaction은 이렇게 생성된 HFile의 수를 줄여 읽기 성능을 향상시키는데 목적을 둔다. Compaction은 Major, Minor Compaction으로 구분되는데 하나씩 알아보도록 하자. major Compaction HBase에서는 데이터를 삭제하더라도 실제로 바로 삭제가 되지..

Airflow Sensor란? Sensor는 시간, 파일, 외부 이벤트를 기다리며 해당 조건을 충족해야만 이후의 작업을 진행할 수 있게 해주는 Airflow의 기능으로 Operator와 같이 하나의 task가 될 수 있으며 filesystem, hdfs, hive 등 다양한 형식을 제공한다. 이전글에서 작성한 것과 같이 airflow 2.x의 버전에서는 third party로 분류되는 서비스의 경우 airflow와 별개로 설치가 필요하며 필요에 따라 원하는 package를 설치를 진행하면 된다. 2021.04.03 - [BigData/Airflow] - Airflow2.x providers 설치하기 sensor의 종류는 아래의 링크를 참고하기 바란다. airflow sensor FileSensor 이 글..
해당 글은 KakaoWorkOperator, Hook의 내용이 변경되면 계속해서 수정될 예정이며, 업데이트 과정에서 코드와 사용 예가 동작하지 않을 수 있으니 양해 부탁드립니다. 수정 내용 2021-06-16 최초 문서 작성 2021-06-19 KakaoWorkHook 관련 내용 수정 및 사용 설명 수정, 실사용 예 제거 추후 추가 예정 Airflow KakaoWorkOperator 지난번 글에서도 언급한 것처럼 Airflow에서 기본적으로 제공하는 업무용 협업툴에는 slack, discord가 있지만 teams, kakaowork 등에 대한 지원은 하지 않는다. 따라서 custom을 통해 사용해야 하는데 지난번 글에서는 teams webhook과 연동하는 것을 알아보았다. 2021.06.03 - [Bi..
오늘은 데이터 직렬화, RPC에 대해 간단하게 알아보고 hadoop에서 어떻게 사용하는지 장점은 무엇인지에 대해 알아보로고 한다. 데이터 직렬화란? 직렬화(serialization) 데이터를 네트워크로 전송하기 위해 구조화된 객체를 바이트 스트림으로 전환하는 과정 역직렬화(deserialization) 데이터를 전달받은 쪽에서 바이트 스트림을 객체로 전환하는 과정 직렬화의 장점 CSV, XML, JSON등의 형식은 알아보기 쉽다는 장점이 있지만, 데이터 구조상 파싱하는 시간이 오래 걸리는 단점이 있음 이를 binary로 변경하면 사람이 읽기에는 어렵지만 파싱 시간이 짧아지기 때문에 성능상 이득을 볼 수 있는데, 데이터가 작은 경우에는 큰 문제가 없을 수 있지만 빅데이터 시스템에서 사용하는 경우 많은 데이..
Kafka Acks Kafka acks 옵션은 프로듀서가 kafka에 데이터를 전달하고 데이터를 잘 받았는지 확인하는 옵션이라고 생각하면 되는데, 옵션에 따라 확인하는 방법이 달라진다. Kafka에서 제공하는 Acks 옵션은 3가지로 다음과 같다. - 0 - 1 - all(-1) 하나씩 살펴보도록 하자. acks 0 ack 0옵션은 프로듀서가 데이터를 전달한 후 확인하지 않는 것이다. 리더 파티션은 데이터가 저장된 이후 몇번째 오프셋에 저장되는지 리턴하게 되는데, 0으로 설정하면 이를 받지 않고 전달만 하게 된다. 이렇게 지정하는 경우 retries 옵션도 무의미하게 되며 데이터 유실이 발생하는 경우가 발생할 수 있지만 속도는 훨씬 빨라진다. 데이터보다 속도에 중점을 두는 경우 사용할 수 있는 옵션이다...

Kafka Scale out 지난 글에서 Kafka Scale out 작업을 진행했다. 2021.06.01 - [BigData/Kafka] - Kafka scale out 마지막 부분에 언급한 것처럼 scale out을 진행했다고 해서 기존에 사용하고 있던 partition들의 데이터가 새로운 broker로 전달되지 않고, 새로운 topic의 데이터들만 전달되기 때문에 기존 topic의 데이터를 옮기기 위해서는 Patition reassign작업이 필요하다. Partition reassign을 하는 방법은 broker에서 제공하는 명령어를 이용하는 방식과 kafka-manager을 이용하는 방식이 있는데 여기서는 kafka-manager을 이용한 방법을 먼저 설명한다. Partition reassign ..

Airflow - TeamsWebHook 사용하기 Airflow에서는 기본적으로 teams에 대한 Operator, Hook을 제공하지 않고 slack, discord에 대한 내용은 제공 작성일 기준 MS teams에 대한 package는 제공하지 않고 있어 사용을 위한 Operator을 custom 개발을 진행했다. Teams에서 webhook으로 사용하는 커넥터는 아래와 같으며, 해당 커넥터에 대한 테스트가 완료되었다. Custom Operator 개발하기 custom Operator 개발은 Hook과 Operator로 나누어 개발을 진행했으며, slack webhook 관련 Hook과 Operator을 참고했다. teams메세지에서 button에 link를 연결하는 메세지를 보내는 것이 가능하지만 ..

kafka scale out Kafka scale out을 진행해보자. 공식 문서에 나와있는 cluster 확장에 대한 부분이다. http://kafka.apache.org/documentation/#basic_ops_cluster_expansion 서버를 추가하는 방법은 매우 간단하다. server.properties에서 설정을 변경하면 되는데 다른 설정 값은 기존 kafka 설정과 동일하게 진행하고 일반적으로 변경이 필요한 부분은 아래 2가지 설정이다. - broker.id - listeners broker.id는 kafka 클러스터 내부에서 유일한 값을 가져야 하기 때문에 기존에 사용하던 broker.id와 다른 값을 지정하고, listeners는 kafka broker가 토오신을 위해 열어둘 인터..