Product를 Reading하는 사람이 자신감이 떨어지는 경우 Product의 방향에 대해 고민하는 것이 아니라 새로운 기능을 추가하는 걸 생각한다거나 그런 식으로 숲 대신 나무를 보게 되는 현상을 말한다.지표가 많아질수록 의사 결정을 잘할 수 있을 거라는 착각을 하
그 전까지의 검색 엔진은 기본적으로 웹 페이지 상의 텍스트를 보고 랭킹을 결정했다.1998 년 구글은 웹 페이지들간의 링크를 기반으로 중요한 페이지를 찾아서 검색 순위를 결정한다.이 알고리즘을 래리 페이지 이름을 따서 페이지 랭크라고 부른다.시작점을 만들고 그 웹 페이
Spark SQL은 구조화된 데이터 처리를 위한 Spark 모듈이다.데이터 프레임 작업을 SQL로 처리 가능하다.데이터 프레임에 테이블 이름 지정 후 SQL 함수로 사용 가능하다.HQL(Hive Query Language)와 호환을 제공한다. 보통 Hive와 Spark
외부 데이터에 대해서는 어떻게 작업을 할 것인가. 주기적인 ETL을 통해 HDFS(내부 데이터)로 읽어오게 한다. 혹은 spark에서 필요할 때마다 읽어오게 한다. (배치, Spark SQL 혹은 Spark Streaming)📌 데이터 병렬 처리가 가능하려면?데이터
서버 한 대로 처리할 수 없는 규모의 데이터 - 아마존 데이터 사이언티스트 존 라우저 분산 환경이 필요하느냐에 포커스기존의 소프트웨어로는 처리할 수 없는 규모의 데이터 여기서 말하는 기존은 오라클이나 MySQL 같은 관계형 데이터베이스첫 번째 빅데이터의 정의와 비슷
📚 오늘 공부한 내용 1. DAG 실행하는 방법 schedule로 지정해 주기적으로 실행할 수 있다. 다른 DAG에 의해 트리거로 실행되도록 처리해 준다. (이 방법이 더 좋음) Explicit Trigger DAG A가 분명하게 다음 DAG인 DAG
📚 오늘 공부한 내용 1. 구글 시트 연동하기 1) 🔎 어려웠던 내용 & 새로 알게 된 내용 ✍ 회고
📚 오늘 공부한 내용 1. 구글 시트 및 슬랙 연동 1) docker-compose.yaml 설정 curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.5.1/docker-compose.yaml' 해당 명령어를 사
7-2의 목표는 Airflow를 통해 오케스트레이션하는 방법을 아는 것이다.오케스트레이션은 여러 개의 컴퓨터 시스템, 애플리케이션 혹은 서비스를 조율하고 관리하는 것이며, 오케스트레이션의 목표는 빈도가 높고 반복할 수 있는 프로세스의 실행을 간소화, 최적화해 복잡한 작
Docker volumes Host volume은 보통 개발 시 소스 코드를 바로 container 안으로 마운트하기 위함이다.내용이 지속성 있게 유지가 되도록 Production에서는 named volumes을 사용한다.Docker Container는 read-onl
Image build를 할 때 추가하지 말아야 할 혹은 필요하지 않을 파일들이나 폴더들을 지정해 준다.빌드 프로세스를 짧게 가고, 이미지의 크기가 너무 커지는 것을 방지하기 위함이다.보통 이런 내용이 .dockerignore에 들어가며 운영을 하면서 추가가 가능하다.D
docker build -t image_name IMAGE를 build하는 명령어\-t를 통해 이미지의 이름을 줄 수 있음 (tag)만약 mac 환경이라면 --platform=linux/amd64를 추가하여 다양한 OS에서 사용 가능한 환경을 만듦 docker imag
📚 오늘 공부한 내용 1. 웹서비스를 Docker로 구동해 보는 실습 1) 실습할 Hangman Repo 구성 app.py flask의 메인 함수가 있고 command line으로 받은 포트를 바인드하고 요청이 들어오기를 기다림 requirements.txt pip
📚 오늘 공부한 내용 1. Airflow 운영의 어려움 관리해야 하는 DAG의 수가 100 개가 넘어 버린다면? 데이터 품질이나 데이터 리니지 이슈 이외에도 다양한 이슈들이 발생한다. 라이브러리 충돌 (버전 충돌) Worker의 부족 처음에는
📚 오늘 공부한 내용 1. MySQL 테이블 복사하기 INSERT INTO는 내가 적재하려는 데이터의 수가 적을 경우 선호되는 방식이다. 그렇기 때문에 대용량의 데이터를 적재할 때는 COPY 명령어를 사용하는 것이 더 선호된다. 2. MySQL Connections
📚 오늘 공부한 내용 1. airflow와 Timezone airflow.cfg에는 두 종류의 Timezone 관련 키가 존재하는데 defaulttimezone, defaultui_timezone이 있다. startdate (시작일), enddate(종료일), sch
📚 오늘 공부한 내용 1. Operators - PythonOperator 먼저 PythonOperator를 import 해 주어 사용할 수 있는 환경을 만들어 준다. 태스크가 실행될 때 python_callable로 지정된 함수가 실행되게 되고 해당 함수에 파라미터
📚 오늘 공부한 내용 1. Airflow 설치 방법 1) 직접 설치하고 운영 개인 랩탑에 도커 설치 후 Airflow 설치 AWS EC2 등의 리눅스 서버에서 직접 설치 2) 클라우드 사용 (Production 환경에서 사용) 기본으로 서버 세 대를 돌려야 하기 때
데이터 레이크 (Data Lake) 구조화 데이터 + 비구조화 데이터보존 기한이 없는 모든 데이터를 원래 형태로 보존하는 스토리지에 가까움 (스토리지에 부담이 없기 때문에)보통은 데이터 웨어하우스보다 몇 배는 더 큰 스토리지데이터 웨어하우스 (Data Warehouse