본문 바로가기

Database8

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.
SQLAlchemy에서 Transaction사용하기 SQLAlchemy에서는 Transaction을 사용하여 with 구문이 정상 실행시에 commit되고 구문내에서 예외 발생시에 rollback 되도록 할 수 있다. Commit As You Go SQLAlchemy 2.0 이상부터 제공되는 기능. 공식문서에 아래와 같이 안내되어 있다. 1.4 버전에서 테스트 해보니, commit()실행과 상관없이 각 실행이 autocommit되며 connection에서 commit()을 지원하지 않는다. New in version 2.0: “commit as you go” style is a new feature of SQLAlchemy 2.0. It is also available in SQLAlchemy 1.4’s “transitional” mode when usi.. 2024. 1. 21.
PostgreSQL, MariaDB/MySQL 테이블 별 용량 확인 하기 각 DB엔진 별로 데이터베이스의 테이블 별 용량을 가져오는 쿼리이다. 아래 쿼리의 결과는 KB단위로 출력되나, 필요에 따라서 수식을 수정해서 MB나 GB로 고쳐서 사용하면 된다. PostgreSQL SELECT table_name, ROUND(pg_relation_size(table_name::regclass) / (1024), 2) AS data_size_kb, ROUND(pg_indexes_size(table_name::regclass) / (1024), 2) AS index_size_kb, ROUND(pg_total_relation_size(table_name::regclass) / (1024), 2) AS total_size_kb FROM information_schema.tables WHERE .. 2023. 12. 17.
Recursive Query(재귀 쿼리) 알아보기 재귀쿼리란? 재귀쿼리는 쿼리 내에서 자기자신을 참조하여 반복적으로 실행되는 쿼리이다. 즉, 쿼리가 반복적으로 실행되면서 이전 단계의 결과를 이용하여 현재 단계의 결과를 도출해 내는 것을 반복하여 최종 결과를 반환한다. 재퀴쿼리는 주로 계층적인 데이터 구조를 다룰 때 유용하게 사용된다. 재귀쿼리 구조 재귀 쿼리를 만들기 위해 CTE(공통 테이블 식, Common Table Expressions)을 활용한다. CTE는 쿼리에서 임시적으로 사용할 수 있는 이름이 지정된 일시적인 결과 집합이다. CTE는 WITH 절을 사용하여 정의되며, 재귀 쿼리의 시작 지점과 재귀 쿼리 자체를 정의하는 두 부분으로 구성된다. WITH RECURSIVE cte_name [(col1, col2 ...)] AS ( -- 초기 쿼리.. 2023. 7. 16.