Data Engineering

Spark 스터디를 시작하면서 실습환경이 필요했는데 현재 회사에서 데이터브릭스를 사용하니까, Spark 개인 공부도 동일한 환경에서 공부를 하면 좋을 것 같아서 데이터브릭스로 결정했다. 그런데 클라우드 서비스인 만큼 과금을 주의해야 하므로 무료 버전 Databricks Community Edition 을 찾아보게 되었다. 시작 방법은 간단한데 데이터브릭스가 상당히 교묘하게 숨겨놔서 주의해야 한다 ! 나와 같은 사람들이 있을 것 같아서 공유한다. https://www.databricks.com/try-databricks Try Databricks - Unified Data Analytics Platform for Data Engineering Discover why businesses are turning..
·Data Engineering
Apache Airflow 환경 구성 MacOS 환경 Python 3.8.10 버전 단일 local server 위의 환경에서 Apache Airflow 를 설치한다. 우선, airflow 를 설치할 가상 환경을 생성한다. python3 -m venv ./airflow 가상환경을 activate 시켜줍니다. source airflow/bin/activate 다음으로 AIRFLOW_HOME 이라는 환경변수에 airflow 의 경로를 저장합니다. export AIRFLOW_HOME=~/airflow echo 명령어로 환경변수가 잘 설정되었는지 확인합니다. airflow version 에 대한 환경 변수를 설정한다. airflow 2.7 version 은 Python 3.8, 3.9, 3.10, 3.11 을 ..
·Data Engineering
크롬 > 개발자 도구 > Console 선택 후 , 아래의 javascript 코드를 입력한다. function ClickConnect(){ console.log("코랩 연결 끊김 방지"); document.querySelector("colab-toolbar-button#connect").click() } setInterval(ClickConnect, 60 * 1000)
실제 프로덕션 환경에서는 유저 데이터 등 유출되면 치명적인 데이터가 있다. 이러한 보안 문제를 해결 하기 위해, Databricks Workspace를 구성할 때 인터넷을 거치지 않는 private link 구성을 활용했다. 위의 그림처럼, Control Plane 과 Data Plane 간의 통신을 구성하기 위해서 AWS Private Link 를 사용하여 구성했다. 크게 2가지로, Secure Cluster Connectivity 를 위한 VPC endpoint 와 REST APIs 를 위한 VPC endpoint 를 생성해주면된다. 참고로 Front-end VPC endpoint 는 따로 생성해주어도 괜찮지만, 사실 Backend REST API와 동일한 서비스이므로 같은 VPC endpoint 를..
국내에 Databricks 관련 블로그 글이나 문서가 많지 않아서 직접 공부하거나 테스트 해본 내용들을 블로그에 조금씩 정리해보려고 한다..! Databricks DLT Table 이란 ? 데이터브릭스에서 안정적으로 배치 및 스트리밍 데이터를 위한 파이프라인을 구축하고 관리할 수 있도록 만들어 놓은 기능이다. 스트리밍 데이터에 강하다보니, CDC가 필요한 경우에도 주기적으로 스트리밍 데이터를 당겨오면 Delta Live Table에 변경 사항을 반영할 수 있다. 문제점은 .. 편리한 대신에 가격이 비싸다고 한다 https://www.databricks.com/kr/product/delta-live-tables Delta Live 테이블 | Databricks DataBricks Delta Live Tab..
! [remote rejected] main -> main (pre-receive hook declined) 구글링 해보니까 branch protect 정책을 설정하지 않아서 생긴 문제라고 한다 Git에 새로 생긴 기능이려나..? 따라서 레포지토리 -> Settings -> Branch 에 들어가서 새로운 Branch Protection rule을 만들어 주었다. 나의 경우 사이드 프로젝트 였으므로 push force 를 허용하고 delete 도 허용하는 두가지 rule을 추가하였고, 별도로 다른 정책은 건드리지 않았다. 대용량 파일 올리는 방법은 git lfs로 쪼개서 올리는 방법이 있다. git에서는 50MB 를 넘어가면 대용량 파일로 간주하여 올리는데 문제가 발생한다.. brew install lf..
macOS 에서 mysql 서비스를 실행시키는 명령어를 쳐주어야 한다. brew services start mysql 재접속해보니 성공했다
RDD ? RDD는 Resilient Distributed Dataset 의 줄임말로 스파크의 기본 데이터 구조이다. Spark 에서 모든 작업은 새로운 RDD를 만들거나, 변형하거나, 연산하는 것 중 하나이다. Spark 에서는 빠른 맵리듀스 작업을 위해서 RDD를 사용해 처리한다.즉, 하둡에서의 맵리듀스의 단점을 보완하기 때문에 RDD로 대세가 바뀌게 되었다. 하둡에서의 Map Reduce 중간 결과에 대해 데이터 복제, I/O 직렬 수행으로 인해 오버헤드가 발생한다는 문제점이 있다. RDD라는 아이디어에 따르면, 메모리 내에서 데이터를 공유한다. 네트워크나 디스크에서 작업하는 것보다 메모리에서 작업하게 되면 10배에서 100배정도 더 빠르다. memory 의 내용을 read-only 로 사용하게 한..
minjiwoo
'Data Engineering' 카테고리의 글 목록 (4 Page)