일반적인 탐색 오류

이 페이지에서는 Dataplex에서 데이터 탐색 분석 워크벤치의 문제를 해결하는 방법을 보여줍니다.

데이터베이스를 찾을 수 없음

SQL 워크벤치 또는 Jupyter 노트북에서 Spark 쿼리를 실행하면 다음 오류가 발생합니다.

Script failed in execution.
org.apache.spark.sql.catalyst.parser.ParseException:
No viable alternative at input `zone-name`(line 1, pos24)

Dataplex 영역 이름은 Spark를 사용하여 쿼리할 수 있는 Hive 호환 데이터베이스 이름에 매핑됩니다. Dataplex 영역 이름에는 하이픈(-)이 포함될 수 있지만 Hive 데이터베이스 이름에는 포함할 수 없습니다. 따라서 Dataplex 영역 이름의 하이픈은 Hive 데이터베이스 이름의 밑줄(_)에 매핑됩니다.

이 문제를 해결하려면 다음 단계를 따르세요.

  1. 사용 가능한 데이터베이스 목록을 가져옵니다.

    show databases
    
  2. 반환된 데이터베이스 이름 목록을 검토하고 올바른 데이터베이스 이름을 쿼리하고 있는지 확인합니다.

테이블을 찾을 수 없습니다.

SQL 워크벤치 또는 Jupyter 노트북에서 Spark 쿼리를 실행하면 다음 오류가 발생합니다.

Script failed in execution.
org.apache.spark.sql.AnalysisException: Table or view not found

Dataplex는 BigQuery 및 Cloud Storage 애셋의 메타데이터를 검색하고 Dataproc Metastore(DPMS)를 통해 액세스할 수 있도록 합니다. SQL 워크벤치 또는 Jupyter 노트북의 Spark 쿼리는 SQL 쿼리를 실행하여 테이블 메타데이터를 가져오는 동안 DPMS에 연결됩니다.

이 문제를 해결하려면 다음 단계를 따르세요.

  1. 사용 가능한 테이블 목록을 가져옵니다.

    show tables in DATABASE_NAME
    
  2. 올바른 테이블 이름을 쿼리하고 있는지 확인합니다.

  3. 테이블 이름에 대문자가 포함된 경우 환경 구성에서 spark.sql.caseSensitivetrue로 설정합니다.

권한 오류

Spark 쿼리가 권한 오류와 함께 실패합니다. 예를 들면 다음과 같습니다.

  • HiveException
  • TTransportException

Dataplex에서 탐색 기능을 사용하려면 Dataplex 리소스 및 기본 애셋에 대한 필수 역할과 권한이 부여되어야 합니다.

권한 문제를 해결하려면 다음 단계를 따르세요.

  • 데이터 탐색 워크벤치를 사용하기 위해 필수 역할 및 권한이 부여되었는지 확인합니다.
  • 기본 Cloud Storage 및 BigQuery 애셋에 대한 read 권한이 있는지 확인합니다.
  • 커스텀 패키지의 경우 Cloud Dataplex 서비스 에이전트가 환경에 구성된 Cloud Storage 버킷에 대한 read 권한을 보유하고 있는지 확인합니다.

스크립트 또는 노트북이 포함된 레이크를 삭제할 수 없음

Dataplex 탐색에 사용되는 레이크를 삭제할 때 레이크에 스크립트 또는 노트북이 포함되어 있으면 다음과 같은 오류가 발생합니다.

Failed to delete `projects/locations/region/lakes/lakename` since it has child
resources.

Dataplex 탐색을 사용하려면 리소스 브라우저에 환경이 하나 이상 있어야 합니다.

이 문제를 해결하려면 다음 해결 방법 중 하나를 사용하세요.

  • gcloud CLI 명령어를 사용하여 레이크에서 스크립트와 노트북을 삭제한 후 레이크를 삭제합니다.
  • 리소스 브라우저를 사용 설정하는 임시 환경을 만듭니다. 모든 스크립트와 노트북을 삭제한 다음 임시 환경과 호수를 삭제합니다.

작업 취소됨

Spark 쿼리를 실행할 때 심각한 오류가 발생하면 작업이 취소됩니다.

이 문제를 해결하려면 오류 메시지를 참조하여 문제의 근본 원인을 파악하고 해결하세요.

Iceberg 테이블을 쿼리할 때 TTransportException

넓은 Iceberg 테이블을 쿼리하면 TTransportException이 발생합니다.

Iceberg에는 Spark 3.1에서 Dataplex 탐색에서 사용하는 Dataproc 2.0 이미지에서 사용할 수 있는 알려진 문제가 있습니다.

이 문제를 해결하려면 SELECT 쿼리에 프로젝션을 추가합니다. 예를 들면 다음과 같습니다.

SELECT a,b,c, 1 AS dummy FROM ICEBERG_TABLE

이 예시에서 1 AS dummy는 추가 프로젝션입니다. 자세한 내용은 문제 세부정보 페이지를 참조하세요.

탐색 리소스 브라우저에 레이크가 표시되지 않음

탐색은 us-central1, europe-west2, europe-west1, us-east1, us-west1, asia-southeast1, asia-northeast1 리전의 레이에서만 사용할 수 있습니다. 다른 리전에 속한 레이크는 탐색 리소스 브라우저에 표시되지 않습니다.

Dataplex 탐색을 시작할 수 없음

Google Cloud 콘솔의 Dataplex 페이지에서 탐색을 클릭했을 때 다음과 같은 메시지가 표시됩니다.

In order to use Dataplex Explore to query data in CLoud Storage and BigQuery
using open soure applications (ex: SparkSQL), connect a metastore. Get started
by setting up one. If DPMS is already attached to the lake and you are seeing
this page, please check the DPMS logs for any possible issues.

탐색은 레이크에 Dataproc Metastore(DPMS)가 구성되고 하나 이상의 환경 설정이 있는 경우에만 작동합니다.

이 문제를 해결하려면 레이크를 Dataproc Metastore에 연결하세요.

할당량 제한

환경을 만들 때 할당량 관련 오류가 표시될 수 있습니다.

이 문제를 해결하려면 환경을 만들기 전에 다음 할당량을 검토하세요.

  • 레이크당 10개의 환경을 만들 수 있습니다.
  • 최대 150개의 노드로 환경을 만들 수 있습니다.
  • 개별 사용자 세션의 세션 길이는 10시간으로 제한됩니다.

세션 시작 시간이 오래 걸림

사용자당 새 세션을 시작하는 데 2.5~3.5분이 걸립니다. 세션이 활성 상태가 되면 동일한 사용자의 후속 쿼리와 노트북을 실행하는 데 사용됩니다.

세션 시작 시간을 줄이려면 빠른 시작이 사용 설정된 기본 환경을 만듭니다.

커스텀 Python 패키지가 포함된 노트북을 예약할 수 없음

Google Cloud 콘솔에서 커스텀 Python 패키지가 포함된 노트북을 예약하면 다음과 같은 오류가 발생합니다.

Selected environment ENVIRONMENT_NAME has additional Python
packages configured. These packages will not be available in the default runtime
for the scheduled notebook when scheduling in the Console. To make the required
additional Python packages available in the runtime, please create Notebook
Schedule using gcloud command instead, referencing a container image with
required additional packages.

환경에 커스텀 Python 패키지가 있는 경우 Google Cloud 콘솔에서 노트북을 예약할 수 없습니다.

이 문제를 해결하려면 gcloud CLI를 사용하여 커스텀 패키지가 포함된 노트북을 예약합니다.