SAP용 BigQuery 툴킷 문제 해결

이 문서에서는 SAP 관리자, SAP 개발자 또는 기타 사용자가 SAP용 BigQuery 툴킷 관련 문제를 해결하는 방법을 보여줍니다.

일반적인 문제

이 섹션에서는 SAP용 BigQuery 툴킷과 관련된 일반적인 오류 메시지와 해결 방법을 보여줍니다.

일반적인 ABAP SDK for Google Cloud 문제 해결에 관한 자세한 내용은 ABAP SDK for Google Cloud 온프레미스 또는 클라우드 버전 문제 해결을 참고하세요.

/GOOG/BQTR: Mass Transfer Key is required. Use Tcode /GOOG/BQTR_SETTINGS to maintain

문제: /GOOG/BQTR: Mass Transfer Key is required. Use Tcode /GOOG/BQTR_SETTINGS to maintain 오류 메시지가 표시되면서 데이터 전송이 실패했습니다.

원인: 데이터 로드 클래스 /GOOG/CL_BQTR_DATA_LOAD를 호출할 때 IV_MASS_TR_KEY 매개변수에 대량 전송 키가 제공되지 않습니다.

해결 방법: 이 문제를 해결하려면 /GOOG/BQTR_SETTINGS 트랜잭션에 저장된 대량 전송 키를 전달합니다. 자세한 내용은 데이터 복제 메서드 호출을 참고하세요.

/GOOG/BQTR: Data Source is required. Pass a dictionary object

문제: /GOOG/BQTR: Data Source is required. Pass a dictionary object 오류 메시지가 표시되면서 데이터 전송이 실패했습니다.

원인: 데이터 로드 클래스 /GOOG/CL_BQTR_DATA_LOAD를 호출할 때 IV_DATA_SOURCE 매개변수에 데이터 소스가 제공되지 않습니다.

해결 방법: 이 문제를 해결하려면 CDS 뷰나 테이블과 같은 사전 객체의 이름을 데이터 소스로 전달합니다. 자세한 내용은 데이터 복제 메서드 호출을 참고하세요.

/GOOG/BQTR: Mass Transfer Key MASS_TRANSFER_KEY not found. Use Tcode /GOOG/BQTR_SETTINGS to maintain

문제: /GOOG/BQTR: Mass Transfer Key MASS_TRANSFER_KEY not found. Use Tcode /GOOG/BQTR_SETTINGS to maintain 오류 메시지가 표시되면서 데이터 전송이 실패했습니다.

원인: 데이터 로드 클래스 /GOOG/CL_BQTR_DATA_LOAD에 전달된 일괄 전송 키가 BigQuery Data Transfer 모듈에서 유지되지 않습니다.

해결 방법: 이 문제를 해결하려면 트랜잭션 코드 /GOOG/BQTR_SETTINGS를 사용하여 대량 전송 키를 유지합니다. 자세한 내용은 BigQuery Data Transfer 모듈 구성을 참고하세요.

/GOOG/BQTR: DATA_SOURCE does not exist in data dictionary

문제: /GOOG/BQTR: DATA_SOURCE does not exist in data dictionary 오류 메시지가 표시되면서 데이터 전송이 실패했습니다.

원인: 데이터 로드 클래스 /GOOG/CL_BQTR_DATA_LOAD에 전달된 데이터 소스가 유효한 데이터 사전 객체가 아닙니다.

해결 방법: 이 문제를 해결하려면 데이터 사전에 있는 데이터 소스의 이름을 전달합니다. 테이블, 사전 뷰, CDS 뷰만 지원됩니다.

/GOOG/BQTR: Nested Tables are not supported

문제: /GOOG/BQTR: Nested Tables are not supported 오류 메시지가 표시됩니다.

원인: 데이터 로드 클래스 /GOOG/CL_BQTR_DATA_LOAD에 입력으로 전달된 사전 객체가 평면 구조가 아닙니다.

해결 방법: 이 문제를 해결하려면 플랫 구조가 있는 사전 객체를 사용하세요.

/GOOG/BQTR: Error creating target table definition

문제: /GOOG/BQTR: Error creating target table definition 오류 메시지가 표시됩니다.

원인: SAP용 BigQuery 툴킷이 지정된 데이터 소스의 대상 테이블 정의를 만들 수 없습니다.

해결 방법: 이 문제를 해결하려면 입력 소스가 하나 이상의 필드가 있는 유효한 사전 객체인지 확인합니다.

/GOOG/BQTR: 400 - Table creation failed in BQ. Could not pull the table metadata from BQ

문제: /GOOG/BQTR: 400 - Table creation failed in BQ. Could not pull the table metadata from BQ 오류 메시지가 표시됩니다.

원인: BigQuery Data Transfer 모듈이 BigQuery에서 테이블 정의를 가져올 수 없는 경우 이 오류가 발생합니다. 이는 BigQuery의 일시적인 서버 오버로드로 인해 발생할 수 있습니다.

해결 방법: 이 문제를 해결하려면 BigQuery 데이터 로드 작업을 다시 시작합니다.

/GOOG/BQTR: 400 - Scope must be provided

문제: /GOOG/BQTR: 400 - Scope must be provided 오류 메시지가 표시됩니다.

원인: 클라이언트 키 구성에서 Google Cloud 범위가 비어 있습니다.

해결 방법: 이 문제를 해결하려면 사용 중인 클라이언트 키 구성의 Google Cloud 범위 필드에서 상응하는 범위(예: https://www.googleapis.com/auth/cloud-platform)를 지정합니다.

/GOOG/BQTR: 400 - Schema mismatch for table TABLE_NAME

문제: /GOOG/BQTR: 400 - Schema mismatch for table TABLE_NAME. Please delete the table from BigQuery and try again. 오류 메시지가 표시됩니다.

원인: 기존 BigQuery 테이블에 다음 변경사항 중 하나가 입력되었습니다.

  • 필드 삭제
  • 필드 이름 변경
  • 필드의 데이터 유형 변경
  • 테이블의 파티션 유형 변경

앞의 변경사항은 기존 BigQuery 테이블에 적용될 수 없습니다.

해결 방법: 기존 테이블에서 이러한 필드 속성을 변경해야 하는 경우 기존 테이블을 삭제하고 레코드를 새 테이블로 새로고침해야 합니다.

잘못된 데이터와 관련된 오류 메시지

문제: 애플리케이션 로그에 오류 메시지(/GOOG/BQTR/: DESCRIPTION_OF_INVALID_DATA error occurred in FIELD_NAME in record RECORD_KEYS)가 표시됩니다.

원인: 잘못된 데이터가 있는 레코드를 대상 테이블에 삽입하면 BigQuery에서 이 오류 메시지를 발행합니다. 다음 이유 중 하나로 인해 데이터가 잘못되었을 수 있습니다.

  • 특정 레코드의 필드에 있는 데이터는 BigQuery의 데이터 유형과 호환되지 않습니다. 예를 들어 BigQuery는 다음과 같은 경우에 오류 메시지를 생성합니다.
    • 문자열이 DATE, INTEGER 또는 BOOLEAN 유형의 필드에서 유지보수됩니다.
    • 잘못된 날짜(00/00/0000)가 DATE 유형 필드에서 유지보수됩니다.
  • /GOOG/BQTR_SETTINGS 트랜잭션의 필드 매핑에서 잘못된 대상 데이터 유형이 유지보수됩니다.

BigQuery는 잘못된 데이터가 있는 필드를 포함하는 각 레코드에 대해 오류 메시지를 발생합니다.

해결 방법: 오류 메시지 DESCRIPTION_OF_INVALID_DATA를 분석하여 잘못된 데이터의 가능한 원인을 파악합니다. 잘못된 데이터가 포함된 필드로 레코드를 식별하려면 레코드의 처음 5개 필드의 콘텐츠가 포함된 RECORD_KEYS를 사용합니다. 테이블에 5개 이하의 필드가 있으면 모든 필드의 콘텐츠가 RECORD_KEYS에 포함됩니다.

  • 필드의 데이터가 BigQuery의 데이터 유형과 호환되지 않는 경우 소스 테이블의 데이터를 수정합니다.
  • 데이터와 데이터 유형 간 불일치로 인해 오류가 발생하면 /GOOG/BQTR_SETTINGS 트랜잭션을 사용하여 적절한 데이터 유형을 지정합니다.

/GOOG/BQTR: 403 - Access Denied: Dataset PROJECT_ID:DATASET_NAME: Permission bigquery.tables.created denied on dataset

문제: /GOOG/BQTR: 403 - Access Denied: Dataset PROJECT_ID:DATASET_NAME: Permission bigquery.tables.created denied on dataset 오류 메시지가 표시되면서 데이터 전송이 실패했습니다.

원인: Google Cloud에서 실행되는 SAP 워크로드의 경우, /GOOG/CLIENT_KEY 테이블에 BigQuery API를 액세스하는 데 필요한 권한이 지정된 서비스 계정에 없습니다.

해결 방법: 이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.

  1. SAP GUI에서 /n에 이어 /GOOG/BQTR_SETTINGS 트랜잭션을 입력합니다.

    /n/GOOG/BQTR_SETTINGS
  2. LTRC 트랜잭션에서 실패한 대량 전송 ID의 경우 Google Cloud 키 이름 필드의 값을 기록해둡니다.

  3. SM30 트랜잭션을 입력하고 /GOOG/CLIENT_KEY 테이블을 엽니다.

  4. 이전 단계에서 기록해 둔 Google Cloud 키 이름 값에 대해 서비스 계정 이름 필드에 지정된 값을 기록해둡니다.

  5. Google Cloud 콘솔에서 Identity and Access Management 서비스 계정 페이지로 이동합니다.

    서비스 계정으로 이동

  6. 이전 단계에서 확인한 서비스 계정을 선택합니다.

  7. 인증 설정에 지정된 대로 SAP용 BigQuery 툴킷이 BigQuery에 액세스하는 데 필요한 IAM 역할이 서비스 계정에 있는지 확인합니다.

  8. 복제를 다시 실행합니다.

/GOOG/BQTR: 404 - Not Found

문제: /GOOG/BQTR: 404 - Not Found 오류 메시지가 표시되면서 데이터 전송이 실패했습니다.

원인: ABAP SDK for Google Cloud가 Google Cloud API에 연결하는 데 사용하는 RFC 대상에서 경로 프리픽스가 잘못되었습니다.

해결 방법: 이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.

  1. SAP GUI에서 /n에 이어 /GOOG/BQTR_SETTINGS 트랜잭션을 입력합니다.

    /n/GOOG/BQTR_SETTINGS
  2. LTRC 트랜잭션에서 실패한 대량 전송 ID의 경우 Google Cloud 키 이름 필드의 값을 기록해둡니다.

  3. SM30 트랜잭션을 입력하고 /GOOG/SERVIC_MAP 테이블을 엽니다.

  4. 이전 단계에서 기록한 Google Cloud 키 이름 값에 대해 RFC 대상 이름을 기록해둡니다.

  5. SM59 트랜잭션을 입력한 후 다음 단계를 수행합니다.

    • BigQuery에 연결하는 RFC 대상에 대해 경로 프리픽스 필드 값이 /bigquery/v2/인지 확인합니다.
    • IAM에 연결되는 RFC 대상에 대해 경로 프리픽스 필드 값이 /v1/인지 확인합니다.
  6. 복제를 다시 실행합니다.

/GOOG/BQTR: 404 - Table PROJECT_ID:DATASET_NAME.TABLE_NAME not found

문제: /GOOG/BQTR: 404 - Table PROJECT_ID:DATASET_NAME.TABLE_NAME not found 오류 메시지가 표시되면서 데이터 전송이 실패했습니다.

원인: ABAP SDK for Google Cloud가 API에 연결하는 데 사용하는 RFC 대상에서 대상 호스트 필드에 지정한 값이 Cloud DNS의 DNS 이름과 일치하지 않습니다. Google Cloud

해결 방법: 이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.

  1. SAP GUI에서 트랜잭션 코드 /GOOG/BQTR_SETTINGS를 입력합니다.

  2. 이 오류가 발생한 대량 전송 키를 입력합니다.

  3. 실행 아이콘을 클릭합니다. Google Cloud 키 이름 열의 값을 기록합니다.

  4. SM30 트랜잭션을 입력한 다음 표시 모드에서 /GOOG/CLIENT_KEY 테이블을 엽니다.

  5. 이전 단계에서 기록한 Google Cloud 키 이름을 사용하여 /GOOG/SERVIC_MAP 테이블을 검색한 다음 지정된 RFC 대상 이름을 기록해둡니다.

  6. 트랜잭션 코드 SM59를 입력합니다.

  7. BigQuery 및 IAM API에 연결하는 데 사용하는 RFC 대상의 경우 대상 호스트 필드에 지정된 값을 기록해둡니다.

  8. Google Cloud 콘솔에서 네트워크 서비스 Cloud DNS 페이지로 이동합니다.

    Cloud DNS로 이동

  9. SAP용 BigQuery Toolkit이 BigQuery 및 IAM API에 비공개로 연결할 수 있도록 만든 Private Service Connect 엔드포인트의 DNS 레코드를 포함하는 비공개 영역을 클릭합니다.

  10. 이전 단계에서 확인한 각 대상 호스트 값에 대해 일치하는 DNS 이름의 DNS 레코드가 있는지 확인합니다.

  11. 복제를 다시 실행합니다.

/GOOG/BQTR: 404 - Not Found Requested entity was not found

문제: /GOOG/BQTR: 404 - Not Found Requested entity was not found 오류 메시지가 표시되면서 데이터 전송이 실패했습니다.

원인: Google Cloud에서 실행되는 워크로드의 경우 클라이언트 키 테이블 /GOOG/CLIENT_KEY에 사용된 서비스 계정이 유효하지 않습니다.

해결 방법: 이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.

  1. SAP GUI에서 /n에 이어 /GOOG/BQTR_SETTINGS 트랜잭션을 입력합니다.

    /n/GOOG/BQTR_SETTINGS
  2. 이 오류가 발생한 대량 전송 키를 입력합니다.

  3. 실행 아이콘을 클릭합니다. Google Cloud 키 이름 열의 값을 기록합니다.

  4. SM30 트랜잭션을 입력하고 /GOOG/CLIENT_KEY 테이블을 엽니다.

  5. 서비스 계정 이름 필드의 경우 지정한 값이 SAP용 BigQuery 툴킷용으로 만든 서비스 계정의 이메일 주소인지 확인합니다.

  6. 복제를 다시 실행합니다.

/GOOG/BQTR: 413 - Request Entity Too Large

문제: /GOOG/BQTR: 413 - Request Entity Too Large 오류 메시지가 표시되면서 데이터 전송이 실패했습니다.

원인: 이 문제는 SAP용 BigQuery 툴킷에서 전송하는 청크의 바이트 크기가 BigQuery에서 허용하는 HTTP 요청의 최대 바이트 크기를 초과하는 경우에 발생할 수 있습니다. 이 문제는 테이블 레코드 크기나 레코드에 포함된 데이터 양으로 인해 청크 바이트 크기가 BigQuery 한도를 초과하는 경우에 발생할 수 있습니다.

해결 방법: SAP용 BigQuery 툴킷에서 테이블에 대해 전송하는 청크의 크기를 줄입니다. /GOOG/BQTR_SETTINGS 트랜잭션을 실행하여 청크 크기를 조정하거나 청크 크기를 자동으로 조정하도록 동적 청크 크기를 사용 설정할 수 있습니다. 자세한 내용은 다음을 참고하세요.

/GOOG/BQTR: 404 - Not found: Dataset DATASET_NAME

문제: 보안을 검증하거나 Google Cloud BigQuery 테이블에 데이터를 로드하려고 하면 /GOOG/BQTR: 404 - Not found: Dataset DATASET_NAME 메시지가 표시됩니다.

원인: 이 문제는 다음과 같은 경우에 발생할 수 있습니다.

  • BigQuery 데이터 세트가 아직 생성되지 않았습니다.
  • 대량 전송 구성에서 데이터 세트 이름이 올바르게 지정되지 않았습니다.
  • BigQuery Data Transfer 모듈의 복제 구성을 활성화해야 합니다.

해결 방법: 다음 해결 방법을 시도해 보세요.

  • BigQuery에서 데이터 세트가 생성되었는지 확인합니다.
  • 대량 전송 구성의 데이터 세트 이름이 BigQuery의 데이터 세트 이름과 동일한지 확인합니다.

/GOOG/BQTR : Unable to interpret VALUE as a BOOLEAN

문제: 레코드의 로드 또는 복제가 실패하며 /GOOG/BQTR : Unable to interpret VALUE as a BOOLEAN 메시지가 반환됩니다.

원인: 이 문제는 소스 테이블의 필드를 BigQuery 데이터 유형 BOOLEAN에 매핑했지만 소스 필드의 데이터가 불리언으로 확인되지 않기 때문에 발생합니다.

해결 방법: 이 문제를 해결하려면 /GOOG/BQTR_SETTINGS 트랜잭션을 사용하여 소스 필드가 매핑되는 데이터 유형을 변경하거나 데이터 유형 매핑을 삭제하고 기본 데이터 유형을 허용합니다.

/GOOG/BQTR: Failed to convert field SAP_FIELD_NAME value to field BIGQUERY_FIELD_NAME: ERROR_DETAILS

문제: 레코드의 로드 또는 복제가 실패하며 /GOOG/BQTR: Failed to convert field SAP_FIELD_NAME value to field BIGQUERY_FIELD_NAME: ERROR_DETAILS 메시지가 반환됩니다.

원인: 소스 필드에 잘못된 값이 포함되었거나, 소스 필드가 소스 필드에 포함된 데이터의 매핑으로 유효하지 않은 BigQuery 데이터 유형으로 매핑된 경우입니다.

해결 방법: 이 문제를 해결하려면 /GOOG/BQTR_SETTINGS 트랜잭션을 사용하여 소스 필드가 매핑되는 데이터 유형을 변경하거나 데이터 유형 매핑을 삭제하고 데이터 유형의 기본 매핑을 허용합니다.

/GOOG/BQTR: DESCRIPTION_OF_ISSUE error occurred in chunk ranging START_INDEX_OF_FAILED_CHUNK - END_INDEX_OF_FAILED_CHUNK

문제: 오류 메시지 /GOOG/BQTR: DESCRIPTION_OF_ISSUE error occurred in chunk ranging START_INDEX_OF_FAILED_CHUNK - END_INDEX_OF_FAILED_CHUNK와 함께 청크 복제가 실패합니다.

원인: 이 문제는 Invalid JSON Payload, Quota Exceeded, Request Entity Too Large, HTTP Communication Failure 등 여러 가지 원인이 있을 수 있습니다. BigQuery에 복제하지 못한 청크에 대한 오류 메시지가 청크의 시작 및 종료 색인과 함께 표시됩니다.

/GOOG/BQTR_SETTINGS 트랜잭션에서 BREAK 플래그를 설정하지 않은 경우 이 오류 메시지가 표시됩니다. BREAK 플래그가 설정되지 않으면 SAP용 BigQuery 툴킷은 오류가 발생해도 다음 청크를 전송하여 레코드를 BigQuery로 계속 전송합니다.

해결 방법: 다음 해결 방법을 시도해 보세요.

  • Quota Exceeded, Request Entity Too Large 또는 HTTP Communication Failure 문제의 경우 /GOOG/BQTR: 413 - 요청 항목이 너무 큼 문제 해결 단계를 따르세요.
  • 현재 부하를 중지하고 BigQuery에서 대상 테이블을 삭제한 다음 새 부하를 다시 시작합니다.
  • 오류가 있는 청크가 발생할 때 BigQuery에 데이터 전송을 중지하고 복제 작업을 종료하려면 BREAK 플래그를 설정합니다. 이는 프로덕션 환경에서 권장됩니다.

BREAK 플래그 구성에 관한 자세한 내용은 테이블 만들기 및 기타 일반 속성 지정을 참고하세요.

커뮤니티에서 지원받기

Cloud 포럼의 커뮤니티에서 SAP용 BigQuery 툴킷에 대해 질문하고 논의하세요.

지원 받기

Google Cloud 는 SAP용 BigQuery 툴킷의 설치, 구성, 운영, 유지보수와 관련된 문제 및 질문에 대한 지원을 제공합니다. 하지만 지원 범위는 툴킷 자체로 제한됩니다.

Google Cloud 는 네트워크 인프라, 데이터베이스, 운영체제, 서드 파티 소프트웨어와 같은 다른 환경 구성요소를 지원하지 않습니다. SAP용 BigQuery 툴킷 이외의 환경 구성요소와 관련된 문제는 적절한 공급업체 또는 지원 제공업체에 문의하세요.

Operational Data Provisioning (ODP) 및 SAP Landscape Transformation (SLT)과 같이 SAP에서 제공하는 기능의 경우 SAP 지원팀에 문의하여 지원을 받으세요.

SAP용 BigQuery 툴킷 문제를 해결하는 데 도움이 필요한 경우 사용 가능한 모든 진단 정보를 수집하여 Cloud Customer Care에 문의하세요.

Cloud Customer Care에 문의하는 방법에 대한 자세한 내용은 Google Cloud에서 SAP 지원 받기를 참고하세요.