데이터 스토어에서 데이터를 읽거나 데이터를 쓰고 AWS Glue Studio 작업에 사용할 데이터를 포맷하는 코드를 작성할 수 있습니다. Spark, Athena 및 JDBC 데이터 스토어용 커넥터를 생성할 수 있습니다. GitHub에 게시된 샘플 코드는 구현해야 하는 기본 인터페이스에 대한 개요를 제공합니다.
커넥터 코드를 생성하려면 로컬 개발 환경이 필요합니다. 모든 IDE 또는 명령줄 편집기를 사용하여 커넥터를 작성할 수 있습니다. 개발 환경의 예는 다음과 같습니다.
-
AWS Glue Developer Guide의 Developing Locally with Scala에 설명된 대로 로컬 AWS Glue ETL Maven 라이브러리가 있는 로컬 Scala 환경.
-
IntelliJ IDE(https://www.jetbrains.com/idea/
에서 다운로드).
주제
Spark 커넥터 개발
Spark DataSource API V2(Spark 2.4)로 Spark 커넥터를 생성하여 데이터를 읽을 수 있습니다.
사용자 정의 Spark 커넥터 생성
Spark 커넥터 개발을 위한 AWS Glue GitHub 샘플 라이브러리(https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/README.md
Athena 커넥터 개발
AWS Glue 및 AWS Glue Studio에서 사용자 지정 데이터 원본을 쿼리하는 데 사용할 Athena 커넥터를 생성할 수 있습니다.
사용자 정의 Athena 커넥터 생성
Athena 커넥터 개발을 위한 AWS Glue GitHub 샘플 라이브러리(https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena
JDBC 커넥터 개발
JDBC를 사용하여 데이터 스토어에 액세스하는 커넥터를 생성할 수 있습니다.
사용자 정의 JDBC 커넥터를 생성하려면
-
로컬 개발 환경에 AWS Glue Spark 런타임 라이브러리를 설치합니다. AWS Glue GitHub 샘플 라이브러리( https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/GlueSparkRuntime/README.md
)의 지침을 참조하세요. -
데이터 원본에서 데이터 검색을 담당하는 JDBC 드라이버를 구현합니다. Java SE 8에 대한 Java 설명서
를 참조하세요. AWS Glue Studio가 커넥터를 찾는 데 사용하는 코드 내의 진입점을 생성합니다. [클래스 이름(Class name)] 필드는 JDBC 드라이버의 전체 경로여야 합니다.
-
GlueContext
API를 사용하여 커넥터로 데이터를 읽습니다. 사용자는 필요한 경우 AWS Glue Studio 콘솔에서 더 많은 입력 옵션을 추가하여 데이터 원본에 대한 연결을 구성할 수 있습니다. 사용자 정의 JDBC 커넥터를 사용하여 JDBC 데이터베이스에서 읽고 쓰는 방법을 보여주는 코드 예제는 사용자 정의 및 AWS Marketplace connectionType 값을 참조하세요.
AWS Glue Studio에서 사용자 지정 커넥터를 사용하는 예제
사용자 정의 커넥터 사용 예는 다음 블로그를 참조하세요.
-
Apache Hudi: AWS Glue 사용자 정의 커넥터를 사용하여 Apache Hudi 테이블에 쓰기
-
Google BigQuery: AWS Glue 사용자 정의 커넥터를 사용하여 Google BigQuery에서 Amazon S3로 데이터 마이그레이션
-
Snowflake(JDBC): Snowflake 및 AWS Glue를 사용하여 데이터 변환 수행
-
SingleStore: SingleStore 및 AWS Glue를 사용하여 빠른 ETL 구축
Salesforce:AWS Glue와 함께 CData JDBC 사용자 정의 커넥터를 사용하여 Salesforce 데이터를 Amazon S3에 수집
- -
MongoDB: Amazon DocumentDB(MongoDB 호환성 포함) 및 MongoDB를 사용하여 AWS Glue Spark ETL 작업 구축
-
Amazon Relational Database Service (Amazon RDS): Amazon RDS용 자체 JDBC 드라이버를 가져와 AWS Glue Spark ETL 작업 구축
AWS Marketplace용 AWS Glue 커넥터 개발
AWS 파트너는 사용자 정의 커넥터를 생성하고 AWS Marketplace에 업로드하여 AWS Glue 고객에게 판매할 수 있습니다.
커넥터 코드를 개발하는 프로세스는 사용자 정의 커넥터와 동일하지만 커넥터 코드를 업로드하고 확인하는 프로세스가 더 세부적입니다. GitHub 웹 사이트의 AWS Marketplace용 커넥터 생성