쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon 문제 해결 DataZone

포커스 모드
Amazon 문제 해결 DataZone - Amazon DataZone

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon DataZone에서 작업할 때 액세스가 거부된 문제 또는 유사한 문제가 발생하는 경우 이 섹션의 주제를 참조하세요.

Amazon에 대한 AWS Lake Formation 권한 문제 해결 DataZone

이 섹션에는 에서 발생할 수 있는 문제에 대한 문제 해결 지침이 포함되어 있습니다Amazon에 대한 Lake Formation 권한 구성 DataZone.

데이터 포털의 오류 메시지 해결 방법

데이터 액세스 역할을 수임할 수 없습니다.

이 오류는 Amazon DataZone 이 계정DefaultDataLakeBlueprint에서 를 활성화하는 데 사용한 AmazonDataZoneGlueDataAccessRole 를 수임할 수 없는 경우 표시됩니다. 문제를 해결하려면 데이터 자산이 있는 계정의 콘솔로 AWS IAM 이동하여 AmazonDataZoneGlueDataAccessRole가 Amazon DataZone 서비스 보안 주체와 올바른 신뢰 관계가 있는지 확인합니다. 자세한 내용은 AmazonDataZoneGlueAccess-<region>-<domainId> 단원을 참조하세요.

데이터 액세스 역할에는 구독하려는 자산의 메타데이터를 읽는 데 필요한 권한이 없습니다.

이 오류는 Amazon이 AmazonDataZoneGlueDataAccessRole 역할을 DataZone 성공적으로 수임했지만 역할에 필요한 권한이 없는 경우에 표시됩니다. 문제를 해결하려면 데이터 자산이 있는 계정의 콘솔로 AWS IAM 이동하여 역할에 AmazonDataZoneGlueManageAccessRolePolicy 연결된 이 있는지 확인합니다. 자세한 내용은 AmazonDataZoneGlueAccess-<region>-<domainId> 단원을 참조하십시오.

자산은 리소스 링크입니다. Amazon DataZone 은 리소스 링크에 대한 구독을 지원하지 않습니다.

이 오류는 Amazon에 게시하려는 자산 DataZone 이 AWS Glue 테이블에 대한 리소스 링크일 때 표시됩니다.

자산은 AWS Lake Formation에서 관리하지 않습니다.

이 오류는 게시하려는 자산에 AWS Lake Formation 권한이 적용되지 않음을 나타냅니다. 이는 다음과 같은 경우에 발생할 수 있습니다.

  • 자산의 Amazon S3 위치가 AWS Lake Formation에 등록되지 않았습니다. 문제를 해결하려면 테이블이 있는 계정에서 Lake Formation 콘솔에 로그인하고 AWS Lake Formation 모드 또는 Hybrid 모드에서 Amazon S3 위치를 등록합니다 AWS . 자세한 내용을 알아보려면 Registering an Amazon S3 location(Amazon S3 위치 등록)을 참조하세요. 추가 수정이 필요한 몇 가지 시나리오가 있습니다. 여기에는 암호화된 AmazonS3 버킷 또는 교차 계정 S3 버킷과 AWS Glue 카탈로그 설정이 포함됩니다. 이러한 경우 KMS 및/또는 S3 설정을 수정해야 할 수 있습니다. 자세한 내용을 알아보려면 암호화된 Amazon S3 위치 등록을 참조하십시오.

  • Amazon S3 위치는 AWS Lake Formation 모드에 등록되지만 테이블의 권한에 IAMAllowedPrincipal 추가됩니다. 문제를 해결하려면 테이블의 권한IAMAllowedPrincipal에서 를 제거하거나 하이브리드 모드에서 S3 위치를 등록할 수 있습니다. 자세한 내용은 Lake Formation 권한 모델 업그레이드 정보를 참조하세요. S3 위치가 암호화되었거나 S3 위치가 Glue 테이블과 다른 accout에 있는 AWS 경우 암호화된 Amazon S3 위치 등록의 지침을 따릅니다.

데이터 액세스 역할에는 이 자산에 대한 액세스 권한을 부여하는 데 필요한 Lake Formation 권한이 없습니다.

이 오류는 계정DefaultDataLakeBlueprint에서 를 활성화AmazonDataZoneGlueDataAccessRole하는 데 사용하는 에 Amazon이 게시된 자산에 대한 권한을 관리하는 DataZone 데 필요한 권한이 없음을 나타냅니다. AWS Lake Formation 관리자AmazonDataZoneGlueDataAccessRole로 를 추가하거나 게시하려는 자산의 AmazonDataZoneGlueDataAccessRole 에 다음 권한을 부여하여 문제를 해결할 수 있습니다.

  • 자산이 있는 데이터베이스에 대한 부여 가능한 권한을 설명하고 설명합니다.

  • Amazon이 사용자를 대신하여 DataZone 관리할 acecss 데이터베이스의 모든 자산에 대한 설명, 선택, 부여 가능 설명, 부여 가능 선택 권한.

Amazon DataZone 계보 자산과 업스트림 데이터 세트 연결 문제 해결

이 섹션에는 Amazon 계 DataZone 보에서 발생할 수 있는 문제에 대한 문제 해결 지침이 포함되어 있습니다. AWS Glue 및 Amazon Redshift 관련 오픈 계보 실행 이벤트 중 일부의 경우 자산 계보가 업스트림 데이터 세트에 연결되지 않은 것을 볼 수 있습니다. 이 주제에서는 시나리오와 문제를 완화하기 위한 몇 가지 접근 방식을 설명합니다. 계보에 대한 자세한 내용은 섹션을 참조하세요Amazon의 데이터 계보 DataZone (미리 보기) .

SourceIdentifier 계보 노드의

계보 노드의 sourceIdentifier 속성은 데이터 세트에서 발생하는 이벤트를 나타냅니다. 자세한 내용은 계보 노드의 키 속성을 참조하세요.

계보 노드는 해당 데이터 세트 또는 작업에서 발생하는 모든 이벤트를 나타냅니다. 계보 노드에는 해당 데이터 세트/작업의 식별자가 포함된 “sourceIdentifier” 속성이 포함되어 있습니다. 오픈 계보 이벤트를 지원하므로 sourceIdentifier 값은 기본적으로 데이터 세트, 작업 및 작업 실행에 대해 'namespace'와 'name'의 조합으로 채워집니다.

AWS Glue 및 Amazon Redshift와 같은 AWS 리소스의 경우 sourceIdentifier는 AWS Glue AmazonARNs이 다음과 같이 실행 이벤트 ARN 및 기타 세부 정보를 구성하는 테이블 및 Redshift 테이블 DataZone 입니다.

참고

에는 모든 리소스에 대한 accountId, 리전, 데이터베이스 및 테이블과 같은 정보가 AWS ARN 포함되어 있습니다.

  • OpenLineage 이러한 데이터 세트의 이벤트에는 데이터베이스와 테이블 이름이 포함됩니다.

  • 리전은 실행의 '환경 속성' 패싯에 캡처됩니다. 존재하지 않는 경우 시스템은 발신자 보안 인증 정보의 리전을 사용합니다.

  • AccountId 는 호출자 보안 인증 정보에서 가져옵니다.

SourceIdentifier 내의 자산에 DataZone

AssetCommonDetailForm 에는 자산이 나타내는 데이터 세트의 식별자를 나타내는 “sourceIdentifier”라는 속성이 있습니다. 자산 계보 노드를 업스트림 데이터 세트와 연결하려면 속성에 데이터 세트 노드의 와 일치하는 값을 채워야 합니다sourceIdentifier. 데이터 소스에서 자산을 가져오는 경우 워크플로는 AWS Glue 테이블 ARN / Redshift 테이블sourceIdentifier로 ARN 자동으로 채워지고 를 통해 생성된 다른 자산(사용자 지정 자산 포함)은 호출자가 해당 값을 채워CreateAssetAPI야 합니다.

Amazon은 OpenLineage 이벤트 sourceIdentifier 에서 를 어떻게 DataZone 구성하나요?

AWS Glue 및 Redshift 자산의 경우 sourceIdentifier 는 Glue 및 Redshift 로 구성됩니다ARNs. Amazon이 이를 DataZone 구성하는 방법은 다음과 같습니다.

AWS Glue ARN

목표는 출력 계보 노드가 다음과 같은 OpenLineage 이벤트를 구성하는 sourceIdentifier 것입니다.

arn:aws:glue:us-east-1:123456789012:table/testlfdb/testlftb-1

실행이 의 데이터를 사용하는지 확인하려면 environment-properties 패싯에 특정 키워드가 있는지 AWS Glue확인합니다. 특히 이러한 지정된 필드가 있는 경우 시스템은 에서 RunEvent 오리진을 가정합니다 AWS Glue.

  • GLUE_VERSION

  • GLUE_COMMAND_CRITERIA

  • GLUE_PYTHON_VERSION

"run": { "runId":"4e3da9e8-6228-4679-b0a2-fa916119fthr", "facets":{ "environment-properties":{ "_producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/spark", "_schemaURL":"https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunFacet", "environment-properties":{ "GLUE_VERSION":"3.0", "GLUE_COMMAND_CRITERIA":"glueetl", "GLUE_PYTHON_VERSION":"3" } } }

AWS Glue 실행의 경우 symlinks 패싯의 이름을 사용하여 데이터베이스와 테이블 이름을 가져올 수 있으며, 이를 사용하여 를 구성할 수 있습니다ARN.

이름이 인지 확인해야 합니다databaseName.tableName.

"symlinks": { "_producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/spark", "_schemaURL":"https://openlineage.io/spec/facets/1-0-0/SymlinksDatasetFacet.json#/$defs/SymlinksDatasetFacet", "identifiers":[ { "namespace":"s3://object-path", "name":"testlfdb.testlftb-1", "type":"TABLE" } ] }

샘플 COMPLETE 이벤트:

{ "eventTime":"2024-07-01T12:00:00.000000Z", "producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/glue", "schemaURL":"https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunEvent", "eventType":"COMPLETE", "run": { "runId":"4e3da9e8-6228-4679-b0a2-fa916119fthr", "facets":{ "environment-properties":{ "_producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/spark", "_schemaURL":"https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunFacet", "environment-properties":{ "GLUE_VERSION":"3.0", "GLUE_COMMAND_CRITERIA":"glueetl", "GLUE_PYTHON_VERSION":"3" } } } }, "job":{ "namespace":"namespace", "name":"job_name", "facets":{ "jobType":{ "_producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/glue", "_schemaURL":"https://openlineage.io/spec/facets/2-0-2/JobTypeJobFacet.json#/$defs/JobTypeJobFacet", "processingType":"BATCH", "integration":"glue", "jobType":"JOB" } } }, "inputs":[ { "namespace":"namespace", "name":"input_name" } ], "outputs":[ { "namespace":"namespace.output", "name":"output_name", "facets":{ "symlinks":{ "_producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/spark", "_schemaURL":"https://openlineage.io/spec/facets/1-0-0/SymlinksDatasetFacet.json#/$defs/SymlinksDatasetFacet", "identifiers":[ { "namespace":"s3://object-path", "name":"testlfdb.testlftb-1", "type":"TABLE" } ] } } } ] }

제출된 OpenLineage 이벤트에 따라 출력 계보 노드sourceIdentifier의 는 다음과 같습니다.

arn:aws:glue:us-east-1:123456789012:table/testlfdb/testlftb-1

출력 계보 노드는 자산의 계보 노드에 연결되며, 여기서 자산은 다음과 sourceIdentifier 같습니다.

arn:aws:glue:us-east-1:123456789012:table/testlfdb/testlftb-1
스크린샷은 자산의 소스 식별자를 보여줍니다.
스크린샷은 자산의 소스 식별자를 보여줍니다.

Amazon Redshift ARN

목표는 출력 계보 노드가 다음과 같은 OpenLineage 이벤트를 구성하는 sourceIdentifier 것입니다.

arn:aws:redshift:us-east-1:123456789012:table/workgroup-20240715/tpcds_data/public/dws_tpcds_7

시스템은 네임스페이스를 기반으로 입력 또는 출력이 Redshift에 저장되는지 여부를 결정합니다. 특히 네임스페이스가 redshift://로 시작하거나 문자열 redshift-serverless.amazonaws.com 또는 가 포함된 경우 redshift.amazonaws.com.rproxy.goskope.comRedshift 리소스입니다.

"outputs": [ { "namespace":"redshift://workgroup-20240715.123456789012.us-east-1.redshift.amazonaws.com:5439", "name":"tpcds_data.public.dws_tpcds_7" } ]

네임스페이스는 다음 형식이어야 합니다.

provider://{cluster_identifier}.{region_name}:{port}

redshift-serverless의 경우:

"outputs": [ { "namespace":"redshift://workgroup-20240715.123456789012.us-east-1.redshift-serverless.amazonaws.com:5439", "name":"tpcds_data.public.dws_tpcds_7" } ]

다음과 같은 결과를 가져옵니다. sourceIdentifier

arn:aws:redshift-serverless:us-east-1:123456789012:table/workgroup-20240715/tpcds_data/public/dws_tpcds_7

제출된 OpenLineage 이벤트에 따라 다운스트림(즉, 이벤트의 출력) 계보 노드에 매핑sourceIdentifier될 는 다음과 같습니다.

arn:aws:redshift-serverless:us-e:us-east-1:123456789012:table/workgroup-20240715/tpcds_data/public/dws_tpcds_7

카탈로그에서 자산의 계보를 시각화하는 데 도움이 되는 매핑입니다.

대체 접근 방식

위의 조건 중 어느 것도 충족되지 않으면 시스템은 네임스페이스/이름을 사용하여 를 구성합니다sourceIdentifier.

"inputs": [ { "namespace":"arn:aws:redshift:us-east-1:123456789012:table", "name":"workgroup-20240715/tpcds_data/public/dws_tpcds_7" } ], "outputs": [ { "namespace":"arn:aws:glue:us-east-1:123456789012:table", "name":"testlfdb/testlftb-1" } ]

자산 계보 노드의 업스트림 부족 문제 해결

자산 계보 노드의 업스트림이 표시되지 않는 경우 다음을 수행하여 데이터 세트와 연결되지 않은 이유를 해결할 수 있습니다.

  1. domainId 및 를 제공하는 GetAsset 동안 호출assetId:

    aws datazone get-asset --domain-identifier <domain-id> --identifier <asset-id>

    응답은 다음과 같이 나타납니다.

    { ..... "formsOutput": [ ..... { "content": "{\"sourceIdentifier\":\"arn:aws:glue:eu-west-1:123456789012:table/testlfdb/testlftb-1\"}", "formName": "AssetCommonDetailsForm", "typeName": "amazon.datazone.AssetCommonDetailsFormType", "typeRevision": "6" }, ..... ], "id": "<asset-id>", .... }
  2. 를 호출GetLineageNode하여 데이터 세트 계보 노드sourceIdentifier의 를 가져옵니다. 해당 데이터 세트 노드의 계보 노드를 직접 가져올 방법이 없으므로 작업 실행GetLineageNode에서 로 시작할 수 있습니다.

    aws datazone get-lineage-node --domain-identifier <domain-id> --identifier <job_namespace>.<job_name>/<run_id> if you are using the getting started scripts, job name and run ID are printed in the console and namespace is "default". Otherwise you can get these values from run event content.

    샘플 응답은 다음과 같습니다.

    { ..... "downstreamNodes": [ { "eventTimestamp": "2024-07-24T18:08:55+08:00", "id": "afymge5k4v0euf" } ], "formsOutput": [ <some forms corresponding to run and job> ], "id": "<system generated node-id for run>", "sourceIdentifier": "default.redshift.create/2f41298b-1ee7-3302-a14b-09addffa7580", "typeName": "amazon.datazone.JobRunLineageNodeType", .... "upstreamNodes": [ { "eventTimestamp": "2024-07-24T18:08:55+08:00", "id": "6wf2z27c8hghev" }, { "eventTimestamp": "2024-07-24T18:08:55+08:00", "id": "4tjbcsnre6banb" } ] }
  3. 다운스트림/업스트림 노드 식별자(자산 노드에 연결해야 한다고 생각됨)를 데이터 세트에 해당하므로 를 전달하여 GetLineageNode 다시 호출합니다.

    위의 예제 응답을 사용한 샘플 명령:

    aws datazone get-lineage-node --domain-identifier <domain-id> --identifier afymge5k4v0euf

    이렇게 하면 데이터 세트에 해당하는 계보 노드 세부 정보가 반환됩니다. afymge5k4v0euf

    { ..... "domainId": "dzd_cklzc5s2jcr7on", "downstreamNodes": [], "eventTimestamp": "2024-07-24T18:08:55+08:00", "formsOutput": [ ..... ], "id": "afymge5k4v0euf", "sourceIdentifier": "arn:aws:redshift:us-east-1:123456789012:table/workgroup-20240715/tpcds_data/public/dws_tpcds_7", "typeName": "amazon.datazone.DatasetLineageNodeType", "typeRevision": "1", .... "upstreamNodes": [ ... ] }
  4. 이 데이터 세트 노드sourceIdentifier의 와 의 응답을 비교합니다GetAsset. 연결되지 않은 경우 이러한 항목이 일치하지 않으므로 계보 UI에 표시되지 않습니다.

일치하지 않는 시나리오 및 완화 조치

다음은 일반적으로 알려져 있는 시나리오로, 일치하지 않는 시나리오와 가능한 완화 조치입니다.

근본 원인 : 테이블이 Amazon DataZone 도메인 계정과 다른 계정에 있습니다.

완화 : 연결된 계정에서 PostLineageEvent 작업을 호출할 수 있습니다. 구성할 이 호출자 보안 인증 정보에서 ARN 선택되면 시작하기 스크립트를 실행하거나 를 호출할 때 테이블이 포함된 계정에서 역할을 수임accountId할 수 있습니다PostLineageEvent. 이렇게 하면 를 ARNs 올바르게 구성하고 자산 노드와 연결하는 데 도움이 됩니다.

근본 원인 : RedshiftARN용 table/views contains Redshift/Redshift- OpenLineage 실행 이벤트에서 해당 데이터 세트 정보의 네임스페이스 및 이름 속성을 기반으로 하는 서버리스용 입니다.

완화 : 지정된 이름이 클러스터 또는 작업 그룹에 속하는지 여부를 알 수 있는 결정적인 방법이 없으므로 다음과 같은 휴리스틱을 사용합니다.

  • 데이터 세트에 해당하는 “이름”에 “redshift-serverless.amazonaws.com”이 포함된 경우 의 일부로 redshift-serverless를 사용하며ARN, 그렇지 않으면 “redshift”로 기본 설정됩니다.

  • 위는 작업 그룹 이름의 별칭이 작동하지 않음을 의미합니다.

근본 원인 : 업스트림 데이터 세트가 사용자 지정 자산에 대해 제대로 연결되지 않았습니다.

완화 : 데이터 세트 노드(사용자 지정 노드의 경우 <namespace>/<name>)sourceIdentifier의 와 일치하는 CreateAsset/CreateAssetRevision 를 호출하여 자산sourceIdentifier의 를 채워야 합니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2024, Amazon Web Services, Inc. 또는 계열사. All rights reserved.