문제 해결 소개

이 문서에서는 BigQuery에서 문제를 해결하는 데 도움이 되는 진단 도구, 원격 분석 인터페이스, 문서 리소스를 간략하게 설명합니다.

쿼리 실패, 성능 병목 현상, 권한 오류, 할당량 한도, 데이터 수집 문제가 발생하면 BigQuery는 근본 원인을 파악하고 문제를 신속하게 해결하는 데 도움이 되는 기본 제공 도구를 제공합니다.

워크플로 문제 해결

BigQuery에서 문제를 효과적으로 해결하려면 다음 진단 기준을 고려하세요.

  1. 증상 및 실패 모드 식별. 작업 결과를 검토하여 문제가 하드 실패 (예: 오류 코드 또는 작업 실패), 성능 저하 (예: 느린 쿼리 또는 슬롯 부족), 권한 거부 또는 예기치 않은 비용 불일치인지 확인합니다.
  2. 작업 실행 세부정보 검사. 콘솔 작업 탐색기 Google Cloud , 쿼리 실행 그래프 또는 명령줄 도구 를 사용하여 단계별 타이밍, 슬롯 할당, 오류 세부정보를 검사합니다. Gemini Cloud Assist에 문제를 조사해 달라고 요청할 수도 있습니다.
  3. 원격 분석 및 메타데이터 분석. 정보 스키마 뷰를 쿼리 하거나 Cloud 감사 로그를 검사하여 작업 동작을 리소스 경합, 예약 한도 또는 관리 변경사항과 상호 연결합니다.
  4. 타겟 완화 적용. 근본 원인을 해결하려면 카테고리별 문제 해결 가이드 또는 방어적 SQL 함수를 사용하세요.

문제 해결과 최적화 구분

BigQuery를 사용할 때는 문제 해결, 성능 최적화, 권장사항을 구분하는 것이 중요합니다.

  • 문제 해결. 작업이 성공적으로 완료되지 않도록 하는 예기치 않은 실패, 런타임 오류, 손상된 파이프라인, 할당량 소진 또는 의도하지 않은 동작을 진단하고 해결하는 데 중점을 둡니다.
  • 성능 최적화. 이미 성공적으로 실행 중인 쿼리 및 워크로드의 실행 속도, 지연 시간 또는 리소스 효율성을 개선하는 데 중점을 둡니다. 자세한 내용은 쿼리 성능 최적화를 참조하세요.
  • 권장사항. 데이터 모델링, 스토리지, 보안, 비용 관리를 위한 아키텍처 및 설계 패턴에 중점을 둡니다. 자세한 내용은 권장사항 소개를 참조하세요.

진단 도구

다음 섹션에서는 워크로드 전반에서 문제를 진단하는 데 도움이 되는 여러 BigQuery 인터페이스와 자동화된 도구를 설명합니다.

시각적 도구 및 콘솔 도구

다음 도구는 Google Cloud 콘솔에서 BigQuery 문제를 해결하는 데 도움이 됩니다.

  • 작업 탐색기. SQL 쿼리를 작성하지 않고도 프로젝트 또는 조직 전반에서 과거 작업과 실행 중인 작업을 검색, 필터링, 검사합니다. 오류 메시지, 슬롯 사용량, 실행 타임라인, 작업 메타데이터를 볼 수 있습니다. 자세한 내용은 작업 탐색기에서 작업 모니터링을 참조하세요.
  • 쿼리 실행 그래프. 쿼리의 단계별 시각적 실행 계획을 검사합니다. 실행 그래프는 디스크로의 셔플 스필, 컴퓨팅 바운드 단계, 데이터 스큐, 입력/출력 지연과 같은 병목 현상을 식별하는 데 도움이 됩니다. 자세한 내용은 쿼리 성능 통계 가져오기를 참조하세요.
  • 쿼리 통계 및 리소스 차트. 슬롯 사용률, 작업 동시 실행, 예약 할당의 실시간 및 과거 그래프를 보고 용량 제약 조건을 진단합니다. 자세한 내용은 관리 리소스 차트 사용을 참조하세요.
  • BigQuery의 Gemini Cloud Assist. 실패한 쿼리 및 성능 병목 현상에 대한 상황별 AI 지원 분석을 가져옵니다. Gemini Cloud Assist는 오류 코드를 설명하고, 문제가 있는 SQL 구문을 강조표시하며, 콘솔에서 직접 해결 단계를 제안합니다. Google Cloud 자세한 내용은 Gemini Cloud Assist를 사용하여 쿼리 문제 해결을 참조하세요.

명령줄 및 자동 진단 도구

다음 도구는 명령줄 인터페이스에서 BigQuery 문제를 진단하는 데 도움이 됩니다.

  • bq 명령줄 도구. 세부 오류 구조, 요청 ID, 작업 메타데이터를 bq show -j <var>JOB_ID</var> 명령어를 사용하거나 쿼리 명령어에 --format=prettyjson 플래그를 추가하여 검사합니다. 자세한 내용은 CLI 명령어 문제 해결을 참조하세요.
  • gcpdiag 도구. 명령줄에서 자동 진단을 실행하여 일반적인 Google Cloud 구성 문제를 감지합니다. 여기에는 IAM 권한 격차, 네트워크 제한, 서비스 계정 오류가 포함됩니다. 자세한 내용은 쿼리 실패 문제 해결을 사용하여 gcpdiag를 참조하세요.

메타데이터 및 원격 분석 뷰

정보 스키마 뷰를 사용하면 표준 SQL을 사용하여 작업, 용량, 스트리밍 수집, 데이터 세트에 대한 실시간 및 과거 메타데이터를 쿼리할 수 있습니다. 이러한 뷰에는 다음이 포함됩니다.

자세한 내용은 BigQuery 소개를 참조하세요INFORMATION_SCHEMA.

Cloud Monitoring 및 Cloud 감사 로그

  • Cloud 감사 로그. 관리자 활동 및 데이터 액세스 감사 로그를 검토하여 특정 작업을 시작한 사용자를 추적하고, 호출자 ID를 검사하고, PERMISSION_DENIED 오류를 진단합니다. 자세한 내용은 BigQuery 감사 로깅 참조를 확인하세요.
  • Cloud Monitoring. 슬롯 사용량, 쿼리 실행 기간, 업로드된 바이트와 같은 측정항목을 추적하고, 한도 또는 할당량이 초과되면 팀에 알리도록 알림 정책을 구성합니다. 자세한 내용은 Cloud Monitoring을 사용하여 BigQuery 모니터링을 참조하세요.

방어적 SQL 함수 및 디버깅 문

런타임 데이터 오류로 인해 쿼리가 예기치 않게 실패하지 않도록 하려면 다음을 사용하세요.

  • 안전한 표현식. SAFE_CAST(), SAFE_DIVIDE(), SAFE_OFFSET(), SAFE_ORDINAL()을 사용하여 데이터 유형 또는 배열 경계가 일치하지 않을 때 런타임 오류를 생성하는 대신 NULL을 반환합니다. 대부분의 스칼라 함수는 SAFE. 프리픽스를 지원합니다. 자세한 내용은 디버깅 함수SAFE. 프리픽스를 참조하세요.
  • SQL 어설션. 다중 문 트랜잭션 또는 스크립트에서 ASSERT 문을 사용하여 데이터 유효성 검사 조건을 적용하고 다운스트림 작업이 실행되기 전에 커스텀 오류 메시지와 함께 실패합니다. 자세한 내용은 디버깅 문을 참조하세요.

문제 카테고리별 문제 해결

다음 섹션에서 카테고리를 선택하여 자세한 오류 코드, 근본 원인, 단계별 해결 가이드를 확인합니다.

쿼리 성능 및 실행

실행에 실패하거나, 시간이 초과되거나, 리소스 제약 조건이 발생하거나, 예기치 않은 지연이 발생하는 쿼리를 진단합니다.

Identity and Access Management (IAM) 및 보안

액세스 제어 실패, 누락된 역할 할당, 데이터 거버넌스 정책 차단을 진단합니다.

할당량, 비율 제한, 예약

워크로드가 BigQuery 서비스 한도 또는 용량 할당을 초과할 때 문제를 해결합니다.

데이터 수집, 스트리밍, 전송

데이터 로드, 레코드 스트리밍, 외부 소스 동기화 시 실패를 진단합니다.

외부 데이터 소스 및 통합 쿼리

BigQuery 외부에서 데이터를 쿼리할 때 연결, 인증, 실행 오류를 진단합니다.

결제 및 비용 불일치

컴퓨팅 및 스토리지 전반에서 예기치 않은 청구 및 결제 불일치를 조사합니다.

데이터 손실 완화

변경되거나 삭제된 이전 데이터를 복구하거나 리전 중단 중에 비즈니스 연속성을 유지하려면 다음 재해 복구 및 데이터 보관 도구를 사용하세요.

  • 데이터 복원. 시간 이동 기간 내에 변경되거나 삭제된 테이블 데이터를 쿼리하거나 복원합니다. 자세한 내용은 데이터 복원을 참조하세요.
  • 시간 이동. 구성된 보관 기간 동안 데이터 세트에 업데이트되거나 삭제된 데이터를 보관하여 실수로 인한 수정을 방지합니다. 자세한 내용은 시간 이동을 참조하세요.
  • 리전 장애 조치. BigQuery 관리형 재해 복구를 사용할 때 리전 중단 중에 보조 복제본을 기본 역할로 승격합니다. 자세한 내용은 리전 장애 조치를 참조하세요.

API 사용

프로그래매틱 방식으로 BigQuery와 상호작용할 때는 다음 리소스를 사용하여 요청 지연 시간을 최적화하고 업로드 워크플로를 관리하세요.

  • API 성능 팁. 연결 풀 관리, 일괄 작업 사용, 재시도 처리와 같은 API 호출 권장사항을 따릅니다. 자세한 내용은 API 성능 팁을 참조하세요.
  • API 업로드. REST API 재개 가능 및 멀티파트 업로드 요청을 사용하여 데이터 수집 문제를 해결하고 관리합니다. 자세한 내용은 API 업로드를 참조하세요.

다음 단계