Most Popular
-
[Datahub] 오픈소스 메타 데이터 플랫폼, 데이터 허브에 대해 알아보자 🙋♂️
🙇♂️ 들어가며사내 대시보드를 만들 때 모르는 컬럼이 있으면 슬랙에 검색하거나 팀에 문의해야 했습니다. 그 과정에서 헷갈린 사람이 저뿐만이 아니라는 것을 깨달았는데요, 이러한 문제를 해결할 수 있는 데이터 허브에 대해서 알아보겠습니다! DatahubLinkedIn에서 만든 오픈소스 메타 데이터 플랫폼으로 메타 데이터 관리, 데이터 검색 및 데이터 거버넌스를 위해 만들어졌습니다. Airflow, BigQuery, CSV, Mysql 등의 다양한 소스를 사용할 수 있습니다. 1. Data Ingestion가장 먼저 해야할 일은 메타데이터를 입력하는 것입니다. 데이터 허브의 UI를 이용하거나 YAML 형식으로 작성한 recipe를 작성해 메타 정보를 ingestion, 즉 섭취(?)할 수 있게 해줘야 합..
-
[멋쟁이 사자처럼] HTML과 CSS로 자기소개 웹페이지 만들기
지난 이야기🌿 1주 차 세션에는 비주얼 스튜디오 코드(VS Code)와 깃을 다 함께 설치했다. 2주 차 (2021.04.05 - 2021.04.09) 1) 화요일 2주 차부터 본격적으로 HTML과 CSS에 대해 배우고 코드를 따라 작성하며 웹페이지를 만들었다. HTML: HyperText Markup Language의 약자로 웹페이지를 만드는 데 사용하는 언어이다. 미리 정의된 태그와 속성을 사용한다. CSS: Cascading Style Sheets의 약자로 HTML 요소들이 각종 미디어에서 어떻게 보이는가를 정의하는 스타일 시트 언어다. 멋사 운영진(회장님👍)을 따라 하면서 만든 첫 웹페이지 결과물을 보자. 약간 머쓱하지만 코드는 다음과 같다. 첫번째 p 두번째 p 세번째 p 바깥의 p태그 원하는 ..
-
[PYTHON/파이썬] KoBERT를 사용한 온라인 뉴스 악성 댓글 데이터 이진 분류
KoBERT 모델을 사용해 뉴스 댓글을 분류하는 작은 프로젝트를 진행해보았다. *프로젝트는 코랩 환경에서 진행했다 1. 주제 선정 이유🙋♂️ 프로젝트의 주제는 KoBERT를 사용한 온라인 뉴스 악성 댓글 데이터 이진 분류이다. 주제 선정 이유는 다음과 같다. 유튜브, 개인방송, SNS, 게임 채팅 등 온라인 공간 확장 특정 집단뿐만 아니라 일반인을 대상으로 한 악성 댓글 증가 피해자의 경우 외상 후 스트레스 장애 및 대인관계 기피, 공포로의 발전 가능성 존재 큰 사회적 문제인 악성 댓글 문제를 기업 차원에서 어떻게 대응할 수 있을지에 대해 고민한 결과 딥러닝을 사용해 이를 분류해보기로 했다. 2. 데이터 선정🙋♂️ 한국어로 된 데이터셋을 조사하였고, 최종적으로 Korean HateSpeech Data..
-
제 49회 SQLD 합격 후기와 공부법
제49회 SQL 개발자(SQLD) 시험에 합격했다. 업무에서 SQL을 자주 쓰다 보니 자격증도 하나 갖고 싶었는데 다행히 합격 🤗🤗 *시험결과는 사전점수발표일에 웹사이트에서 확인할 수 있다 공부법에 앞서 나는 대학때 데이터베이스 수업을 수강한 적이 있고, 취준을 하면서 SQL 문제풀이를 계속했었기 때문에 공부 기간을 일주일로 잡고 시작했다. 시간은 퇴근 후 적게는 1시간 많게는 3시간 정도 쓴 것 같다. 📌 공부 방법이론/ PDF 요약집 찾기 ⭐ 네이버 카페 데이터 전문가 포럼에 가입하면 사람들이 올려놓은 PDF 요약집을 찾을 수 있다. 나는 PDF 파일을 세개정도 다운로드한 후에 제일 눈에 잘 들어오는 파일을 하나 골라 2번 꼼꼼히 읽었다. 시중에 SQL 전문가 가이드라는 이론책이 있긴 하지만 SQLD..
-
GCP 방화벽 설정: 인그레스 규칙으로 포트 연결 오류 해결하기 🔐
들어가며 최근 GCP 환경에서 *Zabbix Agent를 설치하던 중 포트 연결 오류가 발생했습니다. 원인은 GCP 방화벽의 인그레스(ingress) 규칙이 설정되지 않아 Zabbix 서버가 Agent에 접근할 수 없었던 것이었습니다. 이 일을 계기로 방화벽 설정의 중요성을 다시 한번 깨달았습니다. 오늘은 GCP 방화벽의 개념과 방화벽 규칙 설정 방법에 대해 정리해보겠습니다. *Zabbix: 서버 및 네트워크의 상태를 실시간으로 모니터링할 수 있는 오픈소스 기반의 모니터링 툴 이 글에서는 다음 내용을 다룹니다.GCP 방화벽의 개념과 설정 방법방화벽 설정 시 주의사항 1. GCP 방화벽 개념 GCP 방화벽은 VPC(Virtual Private Cloud)안에서 동작합니다. VPC는 GCP 내에서 가상으로 ..
2025.03.30 23:05 -
BigQuery에서 Nested Data의 처리: Dremel 논문으로 이해하기②🕵️♀️
들어가며 지난 글에서는 Dremel 논문[1]을 통해서 Nested Data(중첩 데이터)를 저장하기 위한 아이디어인 반복 레벨과 정의 레벨에 대해 살펴보았습니다. 오늘은 논문의 뒷부분인 반복 레벨과 정의 레벨을 이용해 효율적으로 column stripe를 생성하는 방법과 이를 다시 레코드로 바꾸는 방법을 알아보도록 하겠습니다. 그리고 이렇게 만들어진 레코드를 어떻게 쿼리로 처리하는지까지 살펴보도록 하겠습니다.*column stripe: 컬럼 기반 저장 방식에서 데이터를 나누는 단위. ✅ 레코드 -> 컬럼 Google에서 사용하는 많은 데이터는 희소한(Sparse) 형태, 예를 들자면 수천 개의 필드 중 실제로 값이 존재하는 필드는 백개 정도에 불과하는 형태를 갖고 있었습니다. 때문에 사용되는 필..
2025.03.16 18:41 -
BigQuery에서 Nested Data의 처리: Dremel 논문으로 이해하기①🕵️♀️
들어가며 빅쿼리로 수집되는 서비스의 데이터를 보면 > 와 같은 데이터 타입을 자주 볼 수 있습니다. 복잡한 데이터 구조를 효율적으로 저장하고 처리하기 위해 이러한 타입이 사용되는데요, 지난주에도 평소와 같이 데이터를 조회하다가 문득 이런 생각이 들었습니다.컬럼 기반 스토리지에서는 중첩된 데이터를 어떻게 처리할까? 컬럼 기반 스토리지는 각 컬럼을 따로 저장해서 압축률을 높이고 조회 성능을 최적화하는데요, STRUCT나 ARRAY와 같이 중첩되고 반복되는 데이터는 단순한 구조가 아니어서 궁금증이 생겼습니다. 이를 이해하기 위해 BigQuery의 기반이 되는 Dremel이 어떻게 Nested Data를 다루는지 알아보았습니다. Dremel의 등장 : Nested Data를 다루는 방법 Dremel은 구글이 2..
2025.03.02 22:29 -
토스 SLASH 24 리뷰: 토스 증권의 DW 설계 및 운영에서 배운 점 (AU 파이프라인 개선 사례)
들어가며 작년부터 팀에서는 각 서비스의 주요 지표를 직접 생성하기 시작했습니다. 기존에는 마케팅, 사업부 등 각 부서의 요청에 따라 애드혹(Ad-hoc) 방식으로 데이터를 추출하거나 대시보드를 제공했지만, 현재 팀의 목표는 이에 더해 선제적으로 주요 지표를 제공하여 더 다양한 의사결정을 지원하는 것입니다. 이러한 변화 속에서 다른 화사들은 DW(Data Warehouse)를 어떻게 설계하고 운영하는지에 대한 궁금증이 많았습니다. 그러다 토스 SLASH 24의 전천후 데이터 분석을 위한 DW 설계 및 운영하기 발표를 접하게 되었는데요, 이번 글에서는 발표 내용을 정리하고 팀에 어떻게 적용할 수 있을지 생각해 본 내용을 적어보겠습니다. 토스 증권의 AU 파이프라인토스 증권에서는 다양한 패턴(방문 일자..
2025.02.16 23:24 -
Kafka와 BigQuery를 활용한 데이터 파이프라인을 개선해보자☘️ (feat. MERGE문)
들어가며 현재 제가 속한 데이터 팀에서는 준실시간 분석 요청에 대응하기 위해 Kafka와 BigQuery를 활용한 CDC 기반 데이터 파이프라인을 구축하고 있습니다. 그러나 Kafka 커넥터를 사용하는 과정에서 데이터 규모 증가로 인한 비용 문제 발생 가능성이 제기되었습니다. 이번 글에서는 Kafka 커넥터와 BigQuery MERGE 문을 사용한 기존 파이프라인의 한계를 살펴보고, 이를 개선하기 위해 테스트한 과정을 공유하고자합니다. ✔️ CDC(Change Data Capture) 이름 그대로 데이터 베이스의 변경 사항을 실시간으로 추적하고 캡처하는 기술입니다. 데이터 웨어하우스 등 시스템으로의 동기화에 사용됩니다. 실시간 분석, 이벤트 기반 아키텍처 등에 활용할 수 있습니다. 1. 기존 구조Ka..
2025.01.19 23:58