Redshift 특정 테이블의 권한 생성 문제이전에 Redshift 그룹에 권한을 추가해 주었어도 Superuser가 아닌 그룹 내 다른 사용자가 만든 테이블은 접근할 수 없었던 문제에 대한 해결 방법을 제시하였다. 테이블은 오직 superuser만 생성할 수 있도록 설정하는 것이다. 그러나 실제로 개발자 테이블을 생성하거나 수정하는 상황이 필요하기에 근본적으로 해결할 수 있는 방법을 찾아보았다. [DB] Redshift 특정 테이블의 권한이 생성되지 않는 문제Redshift 특정 테이블의 권한이 생성되지 않는 문제Redshift에서 그룹에 대한 권한을 추가했지만, 특정 테이블에 대한 권한만 추가되지 않는 문제가 발생하였다. 결론적으로는 권한을 생성하는sanseo.tistory.com새로운 테이블에 대한..
S3ToRedshiftOperator 사용 예시Airflow에서 S3에 존재하는 파일을 Redshift로 COPY 하는 방법은 크게 두 가지 방식이 있다. S3ToRedshiftOperator는 파라미터 정보만 적어주면 되므로 실제 쿼리 작업이 필요한 Hook 사용 방식보다 간편하게 사용할 수 있다. S3Hook과 PostgresHook을 활용해 S3와 Redshift를 각각 연결한 뒤 COPY Query 실행S3ToRedshiftOperator를 사용한 간단하게 COPYS3ToRedshiftOperator 사용 예시라이브러리 선언from airflow.providers.amazon.aws.transfers.s3_to_redshift import S3ToRedshiftOperatorS3ToRedshift..
Redshift 특정 테이블의 권한이 생성되지 않는 문제Redshift에서 그룹에 대한 권한을 추가했지만, 특정 테이블에 대한 권한만 추가되지 않는 문제가 발생하였다. 결론적으로는 권한을 생성하는 사용자가 아닌 다른 사용자가 테이블을 생성했기 때문이다. 이 문제를 해결하는 과정과 방지하는 방법을 살펴보려고 한다.이전에 Redshift 사용자를 생성했던 내용 List Users에서 사용자 관리가 가능하다. 그러나 기본 Admin 계정은 매우 단순하기 때문에 보안을 위해 수정이 필요하다. 그래서" data-og-host="sanseo.tistory.com" data-og-source-url="https://sanseo.tistory.com/entry/%EC%9D%B8%ED%94%84%EB%9D%BC-%EA%..
Redshift COPY 시 잘못된 timestamp 값이 적재되는 문제Airflow의 S3ToOperator를 사용해 S3 버킷에 저장된 .parquet 파일을 Redshift에 COPY를 진행하였는데, 다른 모든 값은 모두 올바르게 적재되었음에도 timestamp 형식을 가진 컬럼만 잘못된 값이 적재되었다. 이 문제를 해결하기 위한 과정을 적어보려 한다.데이터 처리 방식 (ETL)우선 이슈가 발생했을 때의 S3에 적재되는 .parquet의 ETL 과정을 나타내 본 뒤 본격적으로 해결 과정을 알아보자.데이터 추출 (Extract)서울 도시데이터 API 호출을 통해 Json 형태의 데이터 추출데이터 변형 (Transform)추출한 데이터 (Json)를 가져와 필요한 데이터를 리스트 형태로 변경여기서 리스..