[typescript] 타입스크립트를 사용하여 AWS SDK로 Glue 데이터 카탈로그 구축하기

AWS Glue는 데이터 호스팅, 준비, 변환 및 로딩을 위한 완전관리형 ETL(추출, 변환, 적재) 서비스입니다. Glue 데이터 카탈로그는 메타데이터의 저장 및 탐색을 위한 관리형 메타데이터 스토어로 사용됩니다. 이 글에서는 타입스크립트를 사용하여 AWS SDK를 통해 Glue 데이터 카탈로그를 구축하는 방법에 대해 알아보겠습니다.

AWS SDK 설치 및 환경 설정

먼저, AWS SDK를 설치하고 설정해야 합니다. 타입스크립트 프로젝트를 시작하고 종속성을 설치한 후, AWS SDK를 사용하기 위해 AWS 계정에 연결된 자격 증명을 프로필로 설정해야 합니다.

import { Glue } from 'aws-sdk';

const glue = new Glue({
  region: '리전', 
  credentials: {
    accessKeyId: '액세스 키 ID', 
    secretAccessKey: '비밀 액세스 키'
  }
});

Glue 데이터 카탈로그 생성

이제 AWS SDK를 사용하여 Glue 데이터 카탈로그를 생성할 수 있습니다. 다음은 테이블과 파티션을 포함한 카탈로그를 생성하는 예제입니다.

const params = {
  DatabaseInput: {
    Name: '데이터베이스 이름'
  }
};

glue.createDatabase(params, (err, data) => {
  if (err) console.log(err, err.stack);
  else console.log('데이터베이스 생성 완료:', data);
});

const tableParams = {
  DatabaseName: '데이터베이스 이름',
  TableInput: {
    Name: '테이블 이름',
    Parameters: {
      classification: 'parquet',
      compressionType: 'none'
    }
  }
};

glue.createTable(tableParams, (err, data) => {
  if (err) console.log(err, err.stack);
  else console.log('테이블 생성 완료:', data);
});

Glue 파티션 추가

파티션을 추가하는 방법을 살펴보겠습니다.

const partitionParams = {
  DatabaseName: '데이터베이스 이름',
  TableName: '테이블 이름',
  PartitionInput: {
    Values: ['파티션 값']
  }
};

glue.createPartition(partitionParams, (err, data) => {
  if (err) console.log(err, err.stack);
  else console.log('파티션 생성 완료:', data);
});

결론

이제 타입스크립트를 사용하여 AWS SDK를 통해 Glue 데이터 카탈로그를 구축하는 방법에 대해 알아보았습니다. Glue를 사용하면 데이터 호스팅, 준비, 변환 및 로딩을 위한 강력한 기능을 쉽게 활용할 수 있습니다.

참고 문헌:

Happy coding with TypeScript and AWS!