전체 글110 DuckDB를 사용해서 Iceberg 테이블에 쿼리 실행하기 Iceberg테이블을 Glue Catalog로 관리하면서 사용하고 있는데, 해당 테이블에 쿼리를 실행하고자 해서 방법을 찾아봤다. 테이블의 용량이 크지 않아 스파크를 사용하고 있지 않다보니, Iceberg 테이블 쿼리에 많이 사용되는 Spark SQL 사용이 어려웠다. 이에 대한 대안으로 DuckDB를 사용하는 방법을 발견해서 적용해보았다.DuckDB를 사용해서 Iceberg 테이블에 쿼리를 하는 방안으로 2가지를 찾았다.DuckDB 라이브러리에서 Iceberg Extension을 설치해서 바로 테이블에 쿼리 실행PyIceberg로 테이블을 먼저 로드해서 이를 DuckDB에 연결 후 쿼리 실행두가지 방법 모두 시도해 본 결과 2번 방법을 채택해서 사용하기로 했다. 각 방법의 상세 내용을 아래에 기록하고자.. 2024. 9. 15. AWS Wrangler를 사용해서 외부데이터를 Redshift에 적재 AWS Wrangler?AWS Wrangler는 AWS 서비스와 통합하여 데이터를 처리하고 관리하는 데 유용한 Python 라이브러리입니다. 특히, AWS 데이터 서비스(예: Amazon S3, Amazon Athena, Amazon Redshift, Amazon RDS 등)와 함께 사용할 때 매우 유용합니다. AWS Wrangler는 Pandas와 같은 데이터 처리 라이브러리와의 통합을 제공하여, 대규모 데이터 세트에 대한 작업을 간편하게 수행할 수 있습니다.Connection 생성Wrangler를 사용해서 레드시프트에 연결을 생성하는 방법으로는 glue와 secret manager 중 한가지를 선택해서 연결해야 한다.Glue connectionAWS Glue Console → Connections →.. 2024. 8. 25. 견고한 데이터 엔지니어링 - 데이터 수집 아래 내용은 견고한 데이터 엔지니어링(조 라이스, 맷 하우슬리 지음)의 7장의 내용 일부를 정리한 것이다. 7.1 데이터 수집이란?원천시스템에서 스토리지로 데이터가 이동하는 것으로, 데이터 엔지니어링 수명 주기에서 중간 단계에서 이루어 진다.데이터 파이프라인이란? 데이터 파이프라인은 데이터 엔지니어링 수명 주기의 단계를 통해 데이터를 이동시키는 아키텍처, 시스템 및 프로세스의 조합7.2 수집 단계의 주요 엔지니어링 고려사항수집 시스템을 설계,구축 할때 고민해봐야 할 질문들수집 데이터의 사용 사례데이터 재사용성데이터 목적지갱신 주기데이터 양데이터 형식데이터 품질데이터 처리 필요 여부수집 아키텍처를 설계할 때 고려해야 하는 요소유한 데이터 vs 무한 데이터빈도동기 수집 vs 비동기 수집직렬화와 역질렬화처리량.. 2024. 8. 18. Poetry를 사용해서 파이썬 패키지를 관리해보자 Poetry란파이썬에서 패키지 배포와 의존성 관리를 쉽게 해주는 도구이다. 프로젝트에 따라 라이브러리를 선언하고 설치/업데이트/관리할 수 있다. 의존성 관리를 위한 pyenv, venv같은 가상환경의 역할을 대체 할 수 있으며, 더해서 패키지 배포까지 쉽게 가능하게 해준다.pyproject.toml 파일을 활용해서 의존성을 관리하여, 기존의 setup.py, requirements.txt, setup.cfg, MANIFEST.in , Pipfile 과 같은 파일들을 하나의 pyproject.toml 로 대체 할 수 있다.Poetry 사용을 위해서는 Python 3.8 버전 이상이 필요하다.Poetry 설치official installer로 설치 - https://python-poetry.org/docs/.. 2024. 8. 4. 이전 1 2 3 4 5 6 ··· 28 다음