기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
테이블 생성
데이터 저장소의 데이터 인벤토리를 작성하기 위해 크롤러를 실행하는 것이 좋지만 메타데이터 테이블을 데이터 저장소에 추가할 수 있습니다. AWS Glue Data Catalog 수동으로. 이 접근 방식을 사용하면 메타데이터 정의를 더 세밀하게 제어하고 특정 요구 사항에 따라 메타데이터 정의를 사용자 지정할 수 있습니다.
또한 다음과 같은 방법으로 데이터 카탈로그에 수동으로 테이블을 추가할 수 있습니다.
-
사용 AWS Glue 콘솔을 사용하여 테이블을 수동으로 생성할 수 있습니다. AWS Glue Data Catalog. 자세한 내용은 을 참조하십시오콘솔을 사용하여 테이블 만들기.
-
의
CreateTable
AWS Glue API 작업을 사용하여 테이블을 만들 수 있습니다. AWS Glue Data Catalog. 자세한 내용은 을 참조하십시오CreateTable 작업(Python: create_table). -
사용 AWS CloudFormation 템플릿. 자세한 내용은 AWS Glue용 AWS CloudFormation 단원을 참조하십시오.
콘솔이나 API an을 사용하여 테이블을 수동으로 정의하는 경우 데이터 원본의 데이터 유형 및 형식을 나타내는 테이블 스키마와 분류 필드 값을 지정합니다. 크롤러가 테이블을 생성하면 데이터 형식 및 스키마는 기본 제공 분류자 또는 사용자 지정 분류자에 의해 결정됩니다. 를 사용하여 테이블을 만드는 방법에 대한 자세한 내용은 AWS Glue 콘솔은 을 참조하십시오콘솔을 사용하여 테이블 만들기.
주제
테이블 파티션
원래 요청 ping에 대한 AWS Glue Amazon Simple Storage 서비스 (Amazon S3) 폴더의 테이블 정의는 분할된 테이블을 설명할 수 있습니다. 예를 들어, 쿼리 성능을 향상시키려면 파티션된 테이블이 매월 데이터를 키로써 매월 이름을 사용하여 다른 파일로 나눠야 합니다. In AWS Glue, 테이블 정의에는 테이블의 파티션 키가 포함됩니다. 일시 AWS Glue Amazon S3 폴더의 데이터를 평가하여 테이블을 카탈로그화하고 개별 테이블을 추가할지 파티션을 나눈 테이블이 추가되는지를 결정합니다.
테이블의 모든 파티션을 로드하는 대신 테이블에 파티션 인덱스를 만들어 파티션의 하위 집합을 가져올 수 있습니다. 파티션 인덱스 작업에 대한 자세한 내용은 파티션 인덱스 생성 섹션을 참조하세요.
다음 조건이 모두 충족되어야 합니다.AWS Glue Amazon S3 폴더용으로 파티션을 나눈 테이블을 만들려면:
-
파일의 스키마는 다음과 같이 결정된 것과 비슷합니다.AWS Glue.
-
파일의 데이터 형식은 동일합니다.
-
파일의 압축 형식은 동일합니다.
예를 들어, iOS 및 안드로이드 앱 세일 데이터 모두를 저장할 수 있는 my-app-bucket
이라는 Amazon S3 버킷을 소유할 수 있습니다. 데이터는 연, 월, 일별로 분할되어 있습니다. iOS 및 안드로이드 세일 데이터 파일은 동일한 스키마, 데이터 포맷 및 압축 포맷을 가지고 있습니다. 에서 AWS Glue Data Catalog,AWS Glue Crawler는 연도, 월, 일의 파티션 키가 포함된 테이블 정의 하나를 생성합니다.
my-app-bucket
의 다음 Amazon S3 목록은 몇 가지 파티션을 보여줍니다. =
부호는 파티션 키 값을 지정할 때 사용됩니다.
my-app-bucket/Sales/year=2010/month=feb/day=1/iOS.csv my-app-bucket/Sales/year=2010/month=feb/day=1/Android.csv my-app-bucket/Sales/year=2010/month=feb/day=2/iOS.csv my-app-bucket/Sales/year=2010/month=feb/day=2/Android.csv ... my-app-bucket/Sales/year=2017/month=feb/day=4/iOS.csv my-app-bucket/Sales/year=2017/month=feb/day=4/Android.csv
테이블 리소스 링크
The AWS Glue 콘솔이 최근에 업데이트되었습니다. 현재 버전의 콘솔에서는 테이블 리소스 링크를 지원하지 않습니다. |
Data Catalog에는 테이블에 대한 리소스 링크도 포함될 수 있습니다. 테이블 리소스 링크는 로컬 또는 공유 테이블에 대한 링크입니다. 현재 리소스 링크는 다음에서만 만들 수 있습니다. AWS Lake Formation. 테이블에 대한 리소스 링크를 만든 후에는 테이블 이름을 사용하는 모든 위치에서 리소스 링크 이름을 사용할 수 있습니다. 소유하거나 공유한 테이블과 함께 테이블 리소스 링크는 에서 반환되어 테이블 페이지의 항목으로 표시됩니다. glue:GetTables()
AWS Glue 콘솔.
Data Catalog에는 데이터베이스 리소스 링크도 포함될 수 있습니다.
리소스 링크에 대한 자세한 내용은 의 리소스 링크 생성을 참조하십시오. AWS Lake Formation 개발자 가이드.
콘솔을 사용하여 테이블 만들기
에 있는 테이블 AWS Glue Data Catalog 데이터 저장소의 데이터를 나타내는 메타데이터 정의입니다. Crawler를 실행할 때 테이블을 생성하거나 에서 수동으로 테이블을 생성할 수 있습니다. AWS Glue 콘솔. 테이블 목록은 AWS Glue 콘솔에는 테이블 메타데이터의 값이 표시됩니다. 작업을 생성 ETL (추출, 변환, 로드) 할 때 테이블 정의를 사용하여 소스와 대상을 지정합니다.
참고
최근 변경 사항 AWS 관리 콘솔에서 SearchTables
권한을 가지려면 기존 IAM 역할을 수정해야 할 수 있습니다. 새 역할 생성의 경우 SearchTables
API 권한이 이미 기본 권한으로 추가되었습니다.
시작하려면 에 로그인하세요. AWS Management Console 그리고 여세요 AWS Glue 에서 콘솔 https://console.aws.amazon.com/glue/
콘솔에서 테이블 추가
크롤러를 사용하여 테이블을 추가하려면 [Add tables]에서 [Add tables using a crawler]를 선택합니다. 다음, [Add crawler] 마법사 지시에 따릅니다. 크롤러가 실행되면 테이블이 서버에 추가됩니다. AWS Glue Data Catalog. 자세한 내용은 을 참조하십시오크롤러를 사용하여 데이터 카탈로그 채우기 .
요구되는 속성을 알면 테이블 마법사를 통해 Data Catalog에 Amazon Simple Storage Service(Amazon S3) 테이블 정의를 생성할 수 있습니다. [Add tables]에서 [Add table manually]를 선택하고 [Add table] 마법사 지시를 따릅니다.
수동으로 콘솔을 통해 테이블을 추가할 때는 다음을 참조하세요.
-
Amazon Athena에서 테이블에 액세스하고자 할 경우, 공급자 이름을 영숫자 문자와 밑줄 표시로 생성합니다. 자세한 내용은 Athena 이름을 참조하세요.
-
원본 데이터의 위치는 Amazon S3 경로여야 합니다.
-
데이터의 데이터 형식은 마법사의 형식과 일치해야 합니다. 선택한 형식에 따라 해당 분류 및 기타 테이블 속성이 자동으로 채워집니다. SerDe 다음 형식을 사용하여 테이블을 정의할 수 있습니다.
- Avro
-
아파치 아브로 바이너리 형식JSON.
- CSV
-
값 분리 가치. 콤마 혹은 파이프, 세미콜론, 탭, Ctrl+A의 구획 문자를 명시합니다.
- JSON
-
JavaScript 객체 표기법.
- XML
-
확장형 마크업 언어 형식 데이터의 행을 정의하는 XML 태그를 지정합니다. 컬럼은 열 태그들 내에서 정의합니다.
- PARQUET
-
Apache Parquet 컬럼 방식 스토리지
- ORC
-
행 열 (ORC) 파일 형식을 최적화했습니다. Hive 데이터를 효율적으로 저장하도록 설계된 형식입니다.
-
테이블의 파티션 키를 정의할 수 있습니다.
-
현재 콘솔로 만든 파티션을 나눈 테이블은 작업에 사용할 수 없습니다. ETL
테이블 속성
다음은 테이블이 갖는 몇 가지 중요한 특징입니다.
- 명칭
-
테이블 생성 시 이름이 결정되고 변경할 수 없습니다. 테이블 이름을 가리키는 경우가 많습니다.AWS Glue 오퍼레이션.
- 데이터베이스
-
컨테이너 객체는 테이블이 위치한 곳입니다. 이 객체에는 내에 존재하는 테이블 구성이 포함되어 있습니다. AWS Glue Data Catalog 데이터 저장소의 조직과 다를 수 있습니다. 데이터베이스를 삭제하면 데이터베이스에 포함된 모든 테이블도 Data Catalog에서 삭제됩니다.
- 설명
-
테이블에 대한 설명입니다. 테이블 내용을 이해할 수 있도록 설명을 적을 수 있습니다.
- 테이블 형식
-
표준 생성을 지정하십시오. AWS Glue 테이블 또는 아파치 아이스버그 형식의 테이블.
데이터 카탈로그는 테이블 스토리지를 관리하고 Iceberg 테이블의 쿼리 성능을 개선하기 위한 다음과 같은 테이블 최적화 옵션을 제공합니다.
-
압축 — 데이터 파일을 병합 및 재작성하고, 오래된 데이터를 제거하고, 조각화된 데이터를 더 크고 효율적인 파일로 통합합니다.
스냅샷 보존 — 스냅샷은 Iceberg 테이블의 타임스탬프가 표시된 버전입니다. 스냅샷 보존 구성을 통해 고객은 스냅샷을 보존하는 기간과 보존할 스냅샷 수를 적용할 수 있습니다. 스냅샷 보존 최적화 프로그램을 구성하면 오래되고 불필요한 스냅샷과 관련 기본 파일을 제거하여 스토리지 오버헤드를 관리하는 데 도움이 될 수 있습니다.
분리된 파일 삭제 - 분리된 파일은 Iceberg 테이블 메타데이터에서 더 이상 참조되지 않는 파일입니다. 이러한 파일은 시간이 지남에 따라 누적될 수 있으며, 특히 테이블 삭제나 작업 실패와 같은 작업 이후에 누적될 수 있습니다. ETL 분리된 파일 삭제를 활성화하면 AWS Glue 이러한 불필요한 파일을 주기적으로 식별하여 제거하여 스토리지를 확보합니다.
자세한 내용은 Iceberg 테이블 최적화 단원을 참조하십시오.
-
- 최적화 구성
기본 설정을 사용하거나 테이블 옵티마이저를 활성화하기 위한 설정을 사용자 정의할 수 있습니다.
- IAM역할
테이블 옵티마이저를 실행하기 위해 서비스가 사용자를 대신하여 IAM 역할을 맡습니다. 드롭다운을 사용하여 IAM 역할을 선택할 수 있습니다. 압축 기능을 활성화하는 데 필요한 권한이 역할에 있는지 확인합니다.
IAM역할에 필요한 권한에 대한 자세한 내용은 을 참조하십시오 테이블 최적화 필수 조건 .
- 위치
-
이 테이블 정의는 데이터 스토어의 데이터 위치를 표현하는 포인터를 표시합니다.
- 분류
-
테이블 생성 시 분류 값이 제공됩니다. 일반적으로 크롤러가 소스 데이터 형식을 실행하고 명시하면 이것이 적힙니다.
- 최종 업데이트 날짜
-
데이터 카탈로그에서 이 테이블이 업데이트된 시간 및 날짜 (UTC)
- 데이터 추가됨
-
이 테이블이 데이터 카탈로그에 추가된 시간 및 날짜 (UTC)
- Deprecated
-
If AWS Glue 데이터 카탈로그의 테이블이 원본 데이터 저장소에 더 이상 존재하지 않는 것을 발견하면 테이블을 데이터 카탈로그에서 더 이상 사용되지 않는 것으로 표시합니다. 사용 중단된 테이블을 참조하는 작업을 실행하면 그 작업은 실행되지 않을 수 있습니다. 사용 중단된 테이블을 참조하는 작업을 편집하여 소스와 타켓으로써 제거합니다. 더 이상 필요하지 않은 사용 중단된 테이블은 삭제하는 것이 좋습니다.
- 연결
-
If AWS Glue 데이터 저장소에 대한 연결이 필요합니다. 연결 이름은 테이블과 연결되어 있습니다.
테이블 세부정보 보기 및 관리
목록에서 테이블 이름을 선택하고 [Action, View details]를 선택하여 존재하는 테이블의 세부 정보를 열람합니다.
테이블 세부 정보는 테이블 속성과 스키마를 포함합니다. 이 화면은 테이블을 정의하기 위한 열 이름, 데이터 유형, 파티션 키 열 등을 포함한 테이블 스키마를 표시합니다. 복잡한 유형의 열은 [속성 보기(View properties)]를 선택하여 다음 예처럼 필드 구조의 세부 사항을 표시합니다.
{ "StorageDescriptor": { "cols": { "FieldSchema": [ { "name": "primary-1", "type": "CHAR", "comment": "" }, { "name": "second ", "type": "STRING", "comment": "" } ] }, "location": "s3://aws-logs-111122223333-us-east-1", "inputFormat": "", "outputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "compressed": "false", "numBuckets": "0", "SerDeInfo": { "name": "", "serializationLib": "org.apache.hadoop.hive.serde2.OpenCSVSerde", "parameters": { "separatorChar": "|" } }, "bucketCols": [], "sortCols": [], "parameters": {}, "SkewedInfo": {}, "storedAsSubDirectories": "false" }, "parameters": { "classification": "csv" } }
이러한 속성에 대한 StorageDescriptor
와 같은 자세한 내용은 StorageDescriptor 구조를 참조하십시오.
[Edit schema]를 선택하여 열을 추가 및 제거하고 열 이름과 데이터 유형을 바꿔 테이블 스키마를 바꿀 수 있습니다.
스키마를 포함하여 테이블의 여러 버전을 비교하려면 버전 비교를 선택하여 테이블에 대한 두 버전의 스키마를 side-by-side 비교한 내용을 확인하십시오. 자세한 내용은 테이블 스키마 버전 비교 단원을 참조하십시오.
Amazon S3 파티션을 구성하는 파일을 표시하려면 [파티션 보기(View partition)]를 선택합니다. Amazon S3 테이블의 [키(Key)] 열은 원본 데이터 스토어 테이블의 파티션에 사용된 파티션 키를 표시합니다. 파티셔닝은 날짜, 위치, 출발점과 같이 키 열 값을 기준으로 테이블을 관련 부분으로 나눕니다. 파티션에 대한 보다 자세한 내용은 "hive partitioning"으로 웹서치를 하시기 바랍니다.
참고
테이블 세부 정보를 보는 step-by-step 방법에 대한 지침을 보려면 콘솔의 Explore 테이블 자습서를 참조하십시오.
테이블 스키마 버전 비교
두 버전의 테이블 스키마를 비교할 때 중첩된 행을 확장 및 축소하여 중첩 행 변경 내용을 비교하고, 두 버전의 side-by-side 스키마를 비교하고, 테이블 속성을 볼 수 있습니다. side-by-side
버전을 비교하려면
-
에서 AWS Glue 콘솔에서 테이블, 작업을 차례로 선택하고 버전 비교를 선택합니다.
-
버전 드롭다운 메뉴를 선택하여 비교할 버전을 선택합니다. 스키마를 비교할 때 스키마 탭은 주황색으로 강조 표시됩니다.
-
두 버전 간에 테이블을 비교하면 화면 왼쪽과 오른쪽에 테이블 스키마가 표시됩니다. 이렇게 하면 열 이름, 데이터 유형, 키 및 설명 필드를 비교하여 변경 내용을 시각적으로 확인할 수 side-by-side 있습니다. 변경 사항이 있을 경우 색상 아이콘에 적용된 변경 유형이 표시됩니다.
-
삭제됨 - 빨간색 아이콘으로 표시되면 이전 버전의 테이블 스키마에서 해당 열이 제거된 위치를 나타냅니다.
-
편집됨 또는 이동됨 - 파란색 아이콘으로 표시되면 새 버전의 테이블 스키마에서 열이 수정 또는 이동된 위치를 나타냅니다.
-
추가됨 - 녹색 아이콘으로 표시되면 해당 열이 새 버전의 테이블 스키마에 추가된 위치를 나타냅니다.
-
중첩된 변경 내용 - 노란색 아이콘으로 표시되면 중첩된 열에 변경 내용이 포함된 위치를 나타냅니다. 확장할 열을 선택하면 삭제, 편집, 이동 또는 추가된 열이 표시됩니다.
-
-
필터 필드 검색 창을 사용하면 여기에 입력한 문자를 기반으로 필드를 표시할 수 있습니다. 테이블 버전 중 하나에 열 이름을 입력하면 필터링된 필드가 두 테이블 버전 모두에 표시되어 변경 사항이 발생한 위치를 보여 줍니다.
-
속성을 비교하려면 속성 탭을 선택합니다.
-
버전 비교를 중지하려면 비교 중지를 선택하여 테이블 목록으로 돌아갑니다.
크롤러를 사용하여 수동으로 생성된 Data Catalog 테이블 업데이트
를 만들고 싶을 수도 있습니다. AWS Glue Data Catalog 테이블을 수동으로 업데이트한 다음 다음과 같이 업데이트하세요.AWS Glue 크롤러. 일정에 따라 실행되는 크롤러는 새 파티션을 추가하고 스키마 변경 내용으로 테이블을 업데이트할 수 있습니다. 이는 Apache Hive 메타스토어에서 마이그레이션된 테이블에도 적용됩니다.
이렇게 하려면 크롤러를 정의할 때 하나 이상의 데이터 스토어를 크롤의 원본으로 지정하는 대신 하나 이상의 기존 Data Catalog 테이블을 지정합니다. 그런 다음 크롤러는 카탈로그 테이블에 지정된 데이터 스토어를 크롤합니다. 이 경우 새 테이블이 생성되지 않습니다. 대신 수동으로 생성된 테이블이 업데이트됩니다.
카탈로그 테이블을 수동으로 생성하고 카탈로그 테이블을 크롤러 원본으로 지정할 수 있는 다른 이유는 다음과 같습니다.
-
카탈로그 테이블 이름을 선택하고 카탈로그 테이블 이름 지정 알고리즘을 사용하지 않습니다.
-
파티션 감지를 방해할 수 있는 형식의 파일이 데이터 원본 경로에 잘못 저장되는 경우 새 테이블이 생성되지 않도록 합니다.
자세한 내용은 2단계: 데이터 소스 및 분류자 선택 단원을 참조하십시오.
데이터 카탈로그 테이블 속성
에서 알려진 테이블 속성 또는 매개변수 AWS CLI는 검증되지 않은 키 및 값 문자열입니다. 외부에서 데이터 카탈로그를 사용할 수 있도록 테이블에 고유한 속성을 설정할 수 있습니다. AWS Glue. 데이터 카탈로그를 사용하는 다른 서비스도 그렇게 할 수 있습니다. AWS Glue 작업 또는 크롤러를 실행할 때 일부 테이블 속성을 설정합니다. 달리 설명하지 않는 한 이러한 속성은 내부용이므로 현재 형태로 계속 존재하도록 지원하지 않으며, 이러한 속성을 수동으로 변경하는 경우 제품 작동을 지원하지 않습니다.
에서 설정한 테이블 속성에 대한 자세한 내용은 AWS Glue 크롤러는 을 참조하십시오. 크롤러가 데이터 카탈로그 테이블에 설정한 파라미터