[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!