Skip to the content.

Glue

https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html

기본 설정 (csv ➞ parquet)

  1. S3 Bucket 및 폴더 설정
    • 디렉토리 구조
      AWS S3
      ├ bucket-glue
      │  ├ athena
      │  ├ glue-data
      │  │  └ database-test
      │  │      └ table-test
      │  │          ├ csv-test
      │  │          │  ├ dataload=YYYYMMDD
      │  │          │  │  └ YYYYMMDD.csv
      │  │          │  ├ dataload=YYYYMMDD
      │  │          │  │  └ YYYYMMDD.csv
      │  │          │  ├ dataload=YYYYMMDD
      │  │          │  │  └ YYYYMMDD.csv
      │  │          │   ...
      │  │          └ parquet-test
      │  ├ glue-log
      │  ├ glue-script
      │  └ glue-temporary
      ...
      
  2. Glue Data Catalog 설정
    • Database
      1. Add Database |항목|설정 값| |-|-| |Name|database-test| |Location|s3://bucket-glue/glue-data/database-test/|
    • Crawlers
      1. Set crawler properties |상위 항목|항목|설정 값| |-|-|-| |Crawler details|Name|crawler-test|
      2. Choose data sources and classifiers |상위 항목|항목|설정 값| |-|-|-| |Data source configuration|Is your data already mapped to Glue tables?|Noy yet| |Add data source|Data source|S3| ||S3 path|s3://bucket-glue/glue-data/database-test/table-test/csv-test/| ||Subsequent crawler runs|상황에 맞게 선택|
      3. Configure security settings |상위 항목|항목|설정 값| |-|-|-| |IAM role|Existing IAM role|권한 선택|
      4. Set output and scheduling |상위 항목|항목|설정 값| |-|-|-| |Output configuration|Target database|database-test| |Crawler schedule|Frequency|상황에 맞게 선택|
      5. Run Crawler
        • Table, 파티션 정보가 업데이트됨
    • Tables (Crawler를 사용하지 않는 경우)
      1. Add Table |상위 항목|하위 항목|설정 값| |-|-|-| |Table details|Name|csv-test| ||Database|database-test| |Data store|Select the type of source|S3| ||Include path|s3://bucket-glue/glue-data/database-test/table-test/csv-test/| |Data format|Classification|CSV| ||Delimeter|테스트 파일에 맞는 형식으로 선택|
      2. Choose or define schema |상위 항목|하위 항목|설정 값| |-|-|-| |Schema|Schema|Define or upload schema| |Add Schema entry|Set as partition key?|◉| ||Partition index #|1| ||Name|dataload| ||Data type|smallint|
    • ETL Job (Parquet 변환)
      1. Create Job (S3 ➞ S3) |상위 항목|하위 항목|설정 값| |-|-|-| |Data Source (S3)|Name|S3-bucket| ||S3 source type|Data Catalog table| ||Database|database-test| ||Table|table_test| |Data Target (S3)|Name|S3-bucket| ||Format|Parquet| ||Compression Type|상황에 맞게 선택| ||S3 Target Location|s3://bucket-glue/glue-data/database-test/table-test/parquet-test/| ||Data Catalog update options|Do not update the Data Catalog|
      2. Job Details |항목|설정 값| |-|-| |Script path|s3://bucket-glue/glue-script| |Spark UI logs path|s3://bucket-glue/glue-log| |Temporary path|s3://bucket-glue/glue-temporary|
      3. Run ETL Job
        • Parquet 파일 생성
    • Athena
      1. 데이터 확인


에러 관련 내용


Google BigQuery 커넥터로 연결