다음 섹션에서는 공유의 데이터에 액세스하려고 할 때 발생할 수 있는 일반적인 오류에 대해 설명합니다.
리소스 제한이 오류를 초과했습니다.
문제: 공유 테이블의 쿼리에서 오류가 RESOURCE_LIMIT_EXCEEDED반환됩니다.
"RESOURCE_LIMIT_EXCEEDED","message":"The table metadata size exceeded limits""RESOURCE_LIMIT_EXCEEDED","message":"The number of files in the table to return exceeded limits, consider contact your provider to optimize the table"
가능한 원인: 공유 테이블에 허용되는 메타데이터의 파일 수에 제한이 있습니다.
권장 해결 방법: 이러한 문제 중 하나를 해결하는 방법을 알아보려면 Databricks 기술 자료에서 델타 공유 테이블을 쿼리할 때 RESOURCE_LIMIT_EXCEEDED 오류를 참조하세요.
진공 데이터 파일 문제
문제: "404 지정된 [path|key]가 없습니다." 예외를 throw하는 오류 메시지가 표시됩니다.
Spark 오류 예:
java.lang.Throwable: HTTP request failed with status: HTTP/1.1 404 The specified path does not exist.
또는
HTTP request failed with status: HTTP/1.1 404 Not Found <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message>
가능한 원인: 일반적으로 미리 서명된 URL에 해당하는 데이터 파일이 공유 테이블에서 진공되고 데이터 파일이 기록 테이블 버전에 속하기 때문에 이 오류가 표시됩니다.
해결 방법: 최신 스냅샷을 쿼리합니다.
오픈 소스 Spark와 스키마 불일치 오류
문제: OSS(오픈 소스 Spark)를 사용하는 경우 델타 공유 테이블을 읽을 때 스키마 불일치 오류가 표시됩니다.
오류 예:
py4j.protocol.Py4JJavaError: An error occurred while calling o85.count.: org.apache.spark.SparkException: The schema or partition columns of your Delta table has changed since your DataFrame was created. Please redefine your DataFrame
가능한 원인: DataFrame을 만든 후 델타 테이블의 스키마 또는 파티션 열이 변경되었습니다.
권장 수정 사항: Spark 구성 플래그 spark.delta.sharing.client.useStructuralSchemaMatch 를 다음으로 true설정합니다.
spark.conf.set("spark.delta.sharing.client.useStructuralSchemaMatch", "true")
스토리지 네트워크 구성 문제
문제: 을 throw하는 오류 메시지가 표시됩니다 SSLCertVerificationError.
Spark 오류 예제:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)
가능한 원인: 일반적으로 공유 테이블 또는 볼륨의 스토리지 위치에 네트워크 제한이 있기 때문에 이 오류가 표시됩니다.
권장 수정 사항: 스토리지 공급자 인터페이스에서 스토리지 계정 방화벽 설정에서 클라이언트 IP를 허용하여 스토리지 위치에 대한 액세스를 허용합니다.
공유 구체화 자산 접근 문제
문제: 공유 보기, 구체화된 뷰 또는 스트리밍 테이블에 대한 쿼리는 오류를 DS_MATERIALIZATION_QUERY_FAILED반환합니다.
"DS_MATERIALIZATION_QUERY_FAILED": "The shared asset could not be materialized due to the asset not being accessible in the materialization workspace. Please ask data provider to contact :re[DB] support to override the materialization workspace."
가능한 원인: 공급자는 공유하려는 자산에 대한 읽기/쓰기 권한이 없습니다.
권장 수정 사항: 데이터 공급자에게 문의하여 공유 데이터 자산에 대한 읽기-쓰기 액세스 권한이 있는지 확인합니다.
데이터 구체화 중 네트워크 액세스 오류
문제: 공유 데이터 자산에 대한 쿼리는 데이터 공급자의 클라우드 스토리지 액세스에 대한 오류를 반환합니다.
There was an issue accessing the data provider's cloud storage. Shared view materialization uses the Serverless compute of data provider's region to perform the materialization. Please contact the data provider to allowlist Serverless compute IPs of their corresponding region to access the view's dependent tables storage location.
가능한 원인: 구체화된 데이터의 스토리지 위치에는 Azure Databricks 서버리스 컴퓨팅이 액세스하지 못하도록 하는 네트워크 제한(예: 방화벽 또는 프라이빗 링크)이 있습니다. 뷰, 구체화된 뷰 또는 스트리밍 테이블을 공유할 때 데이터는 공급자 쪽에서 일시적으로 구체화됩니다. 구체화 스토리지 위치는 자산의 부모 스키마 또는 카탈로그 스토리지 위치입니다.
권장 수정 사항: 데이터 공급자는 해당 지역의 서버리스 컴퓨팅 IP를 허용 목록에 추가하여 뷰의 종속 테이블 스토리지 위치에 액세스해야 합니다. 방화벽을 구성하려면 서버리스 컴퓨팅 액세스를 위한 방화벽 구성을 참조하세요.