MY FIRST DBT - (1) Bigquery 연결해보기 + 폴더 구조에 대한 가벼운 이해
딥상어동의 딥한 프로그래밍/엔지니어링2024. 11. 10. 20:43MY FIRST DBT - (1) Bigquery 연결해보기 + 폴더 구조에 대한 가벼운 이해

들어가며데이터 업무하다 보면 마주하는 케이스 (1) A님 갑자기 제 배치가 안돌아요- 아 alpha_omega 테이블 참조하셨죠? 그거 오늘부터 alpha_beta로 적재됩니다~(2) 뭐야 휴지는 없어도 휴지심은 있어야 되는데? (갑작스러운 null 출현) dbt공홈 문서를 보다보면 유독 자주 등장하는 단어가 있다. “software engineering” 한발 더 나아가서data analysts should adapt similar practices and tools to software developoers 이렇게 까지..! 얘기를 한다. 물론, 분석하기도 바쁜 상황이지만.. dbt를 사용하면Version Control - Analytic code는 반드시 버전 관리를 해야 함, 비즈니스 요구 ..

Airflow DAG 개념 톺아보기 (설치/실행 과정 포함)
딥상어동의 딥한 프로그래밍/엔지니어링2024. 10. 13. 17:18Airflow DAG 개념 톺아보기 (설치/실행 과정 포함)

들어가며최근 들어, 팀 내에서도 그리고 글또에서도 새로운 환경에서 ETL 파이프라인을 구축해 볼 기회가 생김에 따라 Airflow를 이전보다는 조금 더 깊게 알아야 할 필요성이 생겼다. 이에 따라, Airflow를 공부하며 관련된 내용들을 정리해보는 중인데, 오늘은 나와 같은 초보자의 관점에서 Airflow를 테스트 환경을 구성하고 DAG을 만들고 실행하는 과정에서 몇 가지 기본적인 개념들을 다루어보고자 한다.DAG란?Airflow is a platform that lets you build and run workflows. A workflow is represented as a DAG (a Directed Acyclic Graph), and contains individual pieces ..

우당탕탕 슬랙 메시지 저장기(2) - 게시글과 쓰레드 조회하기
딥상어동의 딥한 프로그래밍/엔지니어링2023. 5. 21. 23:56우당탕탕 슬랙 메시지 저장기(2) - 게시글과 쓰레드 조회하기

슬랙 무료 플랜의 경우, 90일 단위로 주기적으로 메시지 함을 비웁니다. 이에 따라 추후 백업 및 활용 용도로 메시지를 저장하는 프로젝트를 진행했었습니다. https://gibles-deepmind.tistory.com/entry/%EC%9A%B0%EB%8B%B9%ED%83%95%ED%83%95-%EC%8A%AC%EB%9E%99-%EB%A9%94%EC%8B%9C%EC%A7%80-%EC%A0%80%EC%9E%A5%EA%B8%B01-%EC%8A%AC%EB%9E%99-%EB%A9%94%EC%8B%9C%EC%A7%80-%EB%84%8C-%EB%88%84%EA%B5%AC%EB%83%90 우당탕탕 슬랙 메시지 저장기(1) - 슬랙 메시지 넌 누구냐? 슬랙 무료 플랜의 경우, 90일 단위로 주기적으로 메시지 함을 비..

우당탕탕 슬랙 메시지 저장기(1) - 슬랙 메시지 넌 누구냐?
딥상어동의 딥한 프로그래밍/엔지니어링2023. 5. 7. 23:39우당탕탕 슬랙 메시지 저장기(1) - 슬랙 메시지 넌 누구냐?

슬랙 무료 플랜의 경우, 90일 단위로 주기적으로 메시지 함을 비웁니다. 이에 따라 추후 백업 및 활용 용도로 메시지를 저장하는 프로젝트를 진행했었습니다. ※음슴체주의※ - 슬랙에서 데이터를 저장하는 방법은 크게 두 가지가 있음 - 하나는 설정 및 관리 → 워크 스페이스 설정 → 데이터 가져오기/내보내기 → 데이터 내보내기 - 다른 하나는 API를 이용하는 방법. https://api.slack.com/methods/conversations.history - API를 이용해 슬랙 데이터를 저장하는 방법에 대해 시리즈 글로 남길 예정. (본 글은 성윤님께서 진행하신 genie 프로젝트를 기반으로 작성하였습니다.) https://github.com/geultto/genie GitHub - geultto/g..

데이터 마트에서는 뭘 파나요?(feat. OLTP, OLAP)
딥상어동의 딥한 프로그래밍/엔지니어링2023. 3. 26. 04:28데이터 마트에서는 뭘 파나요?(feat. OLTP, OLAP)

자~데이터 담으러 가자(feat.안내상님, 송곳) - 들뜬 마음으로 마트에 방문한 A씨. - 어라? 그런데 구매하려고 했던 바나나가 없다. - 바나나 다 팔렸나요? 질문을 남긴 안씨. 직원C씨는 알아 보고 오겠다는 말을 남긴채.. 다시 돌아오지 않았다. - 왜 직원은 돌아 오지 않았을까? 1. 화장실이 급해서 2. 갑자기 관둠 고민에 빠진 직원 - 정답은 둘다 아니다. - C씨는 A씨의 질문을 받자 말자 곧장 마트 창고로 달려갔다. - 창고에도 남은 바나나가 없었다. - 하지만, C씨는 일전에 있는 재고를 없다고 하여 혼난 적이 있다 - 또 혼나기 싫었던 C씨 확실히 확인하기 위해 사내 데이터 베이스에 먼저 접속했다. 상품 상태 테이블 발주일자 상품명 발주물량 상태 업데이트일자 2023-03-10 Sup..

[Bigquery] 지난 며칠 간 Python과 연동하여 사용한 소감
딥상어동의 딥한 프로그래밍/엔지니어링2023. 1. 18. 00:56[Bigquery] 지난 며칠 간 Python과 연동하여 사용한 소감

지난 며칠 간 빅쿼리를 파이썬과 연동해서 사용하였다. pip install google-cloud-bigquery 파이썬과 연동해서 사용하기 위해서는 Client 객체를 사용해야 한다. 공식 Documnet에서 Client 인스턴스에서 사용할 수 있는 method 목록을 확인할 수 있다. https://cloud.google.com/python/docs/reference/bigquery/latest/google.cloud.bigquery.client.Client#google_cloud_bigquery_client_Client_query Class Client (3.4.0) | Python client library | Google Cloud Send feedback Class Client (3.4.0) ..

[도커] 컨테이너 삭제
딥상어동의 딥한 프로그래밍/엔지니어링2022. 12. 8. 22:51[도커] 컨테이너 삭제

핵심내용 도커 컨테이너를 정리하는 방법에 대해서 다루고자 한다. 일단 정지용 도커 컨테이너를 삭제하기 전에 우선, 도커를 먼저 정지해야 한다. 왜냐하면, stop후 삭제하는 과정을 통해 삭제하는데 필요한 충분한 시간을 벌 수 있기 때문이다. (다만, 정지를 하지 않고도 삭제를 강제할 수 있기는 하다.) 그래서, 컨테이너를 삭제하기 전에 도커를 먼저 정지해야 한다. 1. 하나의 컨테이너를 정지하는 경우 docker stop [OPTIONS] CONTAINER [CONTAINER...] 컨테이너 아이디나, 혹은 이름을 넣어준다. 2. 여러개의 컨테이너를 정지하는 경우 docker stop container1 container2 컨테이너 이름이나 아이디를 띄어쓰기로 입력해준다. 3. 특정 이미지와 연관된 모든..

[ubuntu] ssh connection timed out
딥상어동의 딥한 프로그래밍/엔지니어링2022. 8. 16. 22:20[ubuntu] ssh connection timed out

들어가며 ubuntu에서 docker를 설치하면 docker에 권한을 부여한 후, 터미널을 재실행 한다. systemctl reboot 그런데, 시스템만 리부트하고나면 아래와 같이 Connection timed out 에러가 계속 발생했다. 오늘은 그 원인과 해결법에 대해서 간단히 정리하고자 한다. 해결법 ssh user@ipv4 "nohup sudo reboot &>/dev/null & exit" 나의 경우 위 코드를 입력하니까 정상적으로 ubuntu 서버에 접속할 수 있었다. 원인 systemctl reboot 위 명령어를 실행하게 되면 우분투 서버내에 있는 모든 서비스 및 프로세스가 종료된다. 이로 인해 우분투 서버와 클라이언트간 네트워크 연결이 끊어지며, 접속 불가능 상태가 된다. 이때, 해결법의..

[fast api] - uvicorn으로 api서버 실행하기
딥상어동의 딥한 프로그래밍/엔지니어링2022. 8. 15. 19:58[fast api] - uvicorn으로 api서버 실행하기

들어가며 최근 들어, fast api 실습을 진행했었다. 실습을 진행하며, api 서버가 열리지 않는? 경험을 했었다. 그 이유는 내가 host라는 개념에 대해서 명확히 인지하지 못하고 있었기 때문! 관련해서, fast api 앱을 실행하는 예제와 host개념에 대해서 간단히 정리하려고 한다. fast-api 예제 우선, fast api와 uvicorn을 설치해준다. pip install fastapi pip install uvicorn 다음으로, 간단한 main.py를 만들어준다. https://fastapi.tiangolo.com/ko/tutorial/first-steps/ 첫걸음 - FastAPI 첫걸음 가장 단순한 FastAPI 파일은 다음과 같이 보일 겁니다: from fastapi import..

오라클 클라우드(2) - VM 생성기(Compartment, VCN)
딥상어동의 딥한 프로그래밍/엔지니어링2022. 8. 7. 17:19오라클 클라우드(2) - VM 생성기(Compartment, VCN)

핵심 내용 이틀간의 고군 분투 끝에 오라클 클라우드 프리티어 계정을 생성했다👇👇👇. 오늘은 VM을 만들어볼 예정. https://gibles-deepmind.tistory.com/140 오라클 클라우드(1) 계정 생성기 - 공짜를 누리려는 자, 그 무게를 견뎌라 들어가며 때는 바야흐르, 2022년 6월 12일 GCP를 이용하여 데이터 적재 파이프라인을 만들어보는 튜토리얼 글을 적었으나.. GCP는 90일 동안만 무료로 쓸 수 있고 그 90일이 거의 다 되가는 지금... 나 gibles-deepmind.tistory.com 본 글에서 다루는 내용 1. Tenancy와 Compartment 2. VCN 3. VM 생성 3-1. ssh-key 생성 (feat. git bash) 3-2. vm 생성 3-3. 원..

image