-
[Flink 공부하기] 1. Window 개념
Flink 윈도우란? 스트리밍 데이터는 끝이 없는 강물과 같다. 스트리밍과 배치의 차이도 그것이다. 끝이 없음 vs 끝이 있음...이렇게 끊임없이 흘러들어오는 스트리밍 데이터를 통계치로 만들려면 결국 '어디서부터 어디까지' 묶을지 정해야 하는데, 이것이 바로 윈도우 (window)이다. 윈도우는 시간 기반 또는 데이터 기반으로 설정할 수 있다.예를 들어 30초마다 집계한다면 시간 기반이고, 100개마다 집계한다면 데이터 기반이다. Flink 윈도우의 종류윈도우 종류는 Flink에서는 현재 4개로 구분된다. Tumbling (텀블링): 겹치지 않게 딱딱 끊어지는 윈도우. 예: 매 1시간 매출Hop (호핑): 겹치게 해서 부드러운 추세 계산. 예: 10분마다 갱신되는 최근 1시간 매출Session (..
-
Big Data 스파크 배치를 성능개선하다 (리팩토링)
최근에 Big Data 처리 배치 성능개선에 대한 고민을 할 기회가 있었다.전체 소요시간을 3시간 이상 줄여야하는 도전적인 과제였는데, 결국 성공했다...! (뿌듯) 데이터 입수 상황 1) 원본 소스 데이터세트는 10개 가량이다. 2) 1차 마트 데이터를 만드는 dag은 원본 소스 데이터 10개의 완료시점을 계속 감지하고 있다. (sensor 존재)센서가 10개 다 성공하면, 10개 데이터에 여러가지 필터를 적용하여 1차 마트 데이터를 만든다. 3) 2차 마트 데이터는 1차 마트 데이터를 기반으로 만드는데, 이벤트 시간을 주요 검색 key로 사용한다. 리팩토링 방법 A. 센서 병렬화이것은 아주 단순한 아이디어였는데, 크게 효과가 있었다.센서 10개가 다 성공한 후 전체 데이터를 만들지 말고..
-
데이터 엔지니어링에서 최종 파일 용량 줄이는 tip
컬럼 정렬 수행1) “정렬”이 왜 도움이 되나? (컬럼 기준 정렬)Parquet는 컬럼 단위 인코딩 + 페이지/딕셔너리 인코딩 + 압축을 사용해.값이 뭉쳐 있을수록(= 같은 값이 길게 반복되거나 가까이 모여 있을수록)RLE(런-렝스), 딕셔너리 인코딩 적중률 ↑ → 압축률이 올라가고 파일 크기 ↓.따라서, 쿼리 필터/파티션 키/중복도가 높은 컬럼을 우선 정렬하면 효과가 좋다.그리고 길이가 긴 string 데이터일 수록 효과가 좋았다. 압축량이 커지기 때문이다.주의: 전체 셔플이 필요하므로 쓰기 비용↑. 하지만 장기적으로는 읽기 성능 + 용량 절감의 이득을 볼 수 있었다.3) 파티셔닝과 파일 개수의미 있는 정렬키로 프루닝 + 정렬 효과를 극대화.데이터 양이 적은 경우 order by, 많은 경우 sort ..
-
가용성과 신뢰성의 개념 정확히 이해하기
가용성과 신뢰성, Reliability와 Availability의 개념이 헷갈릴 때가 많았다.그래서 복습을 하고, 구체적인 예시로 적어두려고 한다. 신뢰성이 낮다는 것은 결함이 많다는 것이다. 그러나 결함 != 장애이다.결함은 사양에서 벗어나서 동작하는 것이고, 장애는 시스템 전체가 멈춘 것이다. 결함이 장애로 이어지지 않도록 설계할 수 있다. 요약하면 신뢰성은 결함과 연결되고, 가용성은 장애와 연결된다.신뢰성이 낮더라도(결함이 많더라도) 가용성이 높게 설계된 시스템은 사용자가 이상을 인지하지 못한다. 다음은 가용성과 신뢰성의 차이에 대한 실제적이고 구체적인 예시들이다. GPT의 도움을 받았다. (고마워... 이해가 쏙쏙..) ✅ 1. Kafka 클러스터Reliability (신뢰성)Kafka 브로..
-
[Hive] insert overwrite 중에 데이터가 없어도 파티션이 생겼으면 할 때
[요건 정의]Hive 테이블의 특정 파티션에 대해 insert overwrite로 데이터 재생성중이다. 이 때 row가 없어도 파티션 폴더는 생겼으면 함 [문제 상황]row가 없는 경우에 물리적 파티션 폴더가 생기지 않고, 사라져 버림... [해결 방법]1. 해당 파티션을 ALTER 테이블 DROP PARTITION 쿼리로 메타스토어에서 삭제한다2. 삭제한 후 insert overwrite 수행한다3. 그러면 row가 없어도 파티션 폴더가 생긴다. 데이터 재생성시 발생하는 hive serde 오류인 것 같다.파티션이 없는 상태에서 최초 실행시에는 디렉토리가 생기는데, 파티션이 있는 상태에서 재실행하면 디렉토리가 사라져버린다; 파티션이 없는 상태에서, 최소 실행이어야 row가 없어도 파티션 폴더가 생기..
리스트 : 콘텐츠가 있으면 최근 5건을 불러옵니다.
-
일본 우체국 국내 우편 이용 방법/봉투/발송후기일본 살이 Tip 2019.07.28 14:27
발송 방법 우체국 발송 : 창구에서 접수하고 요금을 지불합니다. 이 때에는 우표 대신 소인 도장을 찍어 줍니다. 우체통 투입 : 도심의 우체통에 우편물을 투입하는 형식으로 접수할 수 있습니다. 사전에 구입한 우표가 반드시 붙어 있어야하며, 우표는 우체국, 그리고 로손・세븐일레븐・패밀리마트 전국 편의점에서 요금별로 구입이 가능합니다. 우체통에 투입구는 일반 우편물[왼쪽]과 특급 우편물[오른쪽]으로 나누어집니다. 이 포스트에서 다루는 편지 형 일반우편물의 경우, 우체통의 [왼쪽]에 투입하게 됩니다. 우편 요금 (일반) 정형 우편물 (定形郵便物) 규격: 세로 14 ~ 23.5cm, 가로 9 ~ 12cm, 두께 1cm 이내 무게 가격 25g 이내 82 엔 50g 이내 92 엔 * 일반 봉투에 편지지 3~4장를 ..
-
[파이썬/Python] 티켓팅 자동화 매크로 개발해보기Python 2019.07.01 14:27
처음에 블로그를 개설할 때는, 유익한 IT블로그를 만들겠다는 야심찬 포부가 있었는데, IT 포스트로 유입이 거의 전혀 없다시피 하다보니, 아무래도 잘 하지 않게 됩니다. 물론 유입이 없는 건 제 포스팅 역량 부족 + 개발 역량 부족 때문이지만서도요...ㅎㅎㅎ 무튼 개인적 호기심으로 만들어 보았던 티켓팅 자동화 매크로 코드입니다. 저는 업무외에 혼자서 코딩할때에는 거의 파이썬으로 합니다. 구현 알고리즘 티켓팅 자동화를 구현하기 위해서 3가지 방법을 고려할 수 있습니다. 1. 좌표를 설정하여 자동화 구현 2. 각 엘리멘트를 바로 실행시키는 웹 자동화 형식 3. 서버단에 예매정보 패킷 전송 좌표 설정법은, UI적으로 위치적 변화가 있을 경우 작동하지 않는다는 단점이 있습니다. 웹 자동화 형식은 좌표 변화에는 ..
-
[일본 완전 귀국] 일본생활 정리 매뉴얼일본 살이 Tip 2020.01.08 19:06
목차 1. 집 렌트 계약 해지 2. 인터넷 해약 신청 3. 가구 처분 (중고 판매 & 메루카리) 4. 쓰레기 처리 5. 핸드폰 해약 신청 6. 신용카드 정리 & 해약 신청 7. 귀국 비행기 예약 8. 은행/증권 계좌 정리 9. 전기/가스/수도 공공요금 해지 신청 10. 한국으로 짐 보내기, 우체국 픽업 신청 11. 주민세 일괄 납부 처리 12. 납세 대리인 신청 13. 전출 신고 14. 경력증명 서류 발급 15. 우편물 부재지 배달 신청 16. 정기권 환불 17. 연금 탈퇴 일시금 환급의 우편 접수 18. 재류카드 무효화 1. 집 렌트 계약 해지 계약 해지 통보 무엇보다 가장 먼저 해야 할 일은 살고 있는 집에 대한 계약 해지 통보이다. 집 계약할 때 받았던 계약서 사본을 확인하면, 계약 해지 시에 통보..
-
[무지 카레 리뷰] 카레맛집(?) 일본 무인양품 카레 리뷰/인기 순위일본 살이 Tip 2019.06.18 21:17
무인양품 카레 소개 방콕 집순이인 저는 왠만하면 식사는 집에서 먹자는 주의입니다. 나가서 쓰는 돈도 돈이지만, 고작 밥 한 끼 먹자고 옷 갈아입고 나가서 걷고 주문하고 기다리고 하는 과정이 너무 귀찮아요. 물론 집에서도 요리에 절대 긴 시간을 할애하지 않습니다. 인스턴트 요리나, 냉동밥, 밀프렙을 선호합니다. 카레가 국민요리인 일본에는 인스턴트 카레가 시중에 상당히 많이 나와있습니다. 저는 그 중에서도 방부제를 안 쓰고 멸균포장하여 판매하는 무인양품 카레를 주로 먹습니다. 애초에 무지가 레토르트 산업으로 성장한 브랜드인거 알고 계셨나요...? 일본 무인양품에서 레토르트 가판대쪽으로 가보시면 없는 게 없을 정도로..., 무려 백여가지 이상의 카레, 수프, 파스타 소스들이 판매중입니다. 이 중 제가 먹어본 ..
-
일본 3년차, 주민세가 날라왔다! 주민세 계산 & 부양공제액 & 지역별 세율 [2019 최신판]일본 살이 Tip 2019.06.28 23:10
6월의 마지막 주, 드디어 나에게도 주민세 통지서가 날아들었다. 일본에서는 전년도의 수입을 기준으로 해서, 다음 해 6월부터 주민세라는 지역 세금을 납부하게 된다. 전년도 수입이 천만 원(백만 엔) 이하라면 이 주민세를 납부하지 않아도 된다. 그래서 일본에 취업하는 한국인들은, 일본에서 전년도 수입이 없기 때문에 첫 해는 주민세를 내지 않다가, 다음해에 (혹은 다다음해에) 무지막지한 주민세를 맞닥트리고 향후 진로에 대한 깊은 고민을 하게 된다. 목차 주민세란? 지역에 따른 주민세율 납부 방법 주민세 감세법 : 부양가족 등록 예시: 주민세 납부 통지서 읽는법 일본의 지방세금, 주민세 주민세는 일본 지방세금으로, 행정구역에 따라 두 군데에 각각 납부하게 되는 데, 도도부현에 납부하는 현민세와 시정촌에 납부하..