문제 해결 소개

이 문서에서는 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는Google Cloud 콘솔에서 바로 오류 코드를 설명하고, 문제가 있는 SQL 문법을 강조 표시하고, 해결 단계를 제안합니다. 자세한 내용은 Gemini Cloud Assist를 사용하여 쿼리 문제 해결을 참조하세요.

명령줄 및 자동 진단 도구

다음 도구를 사용하면 명령줄 인터페이스에서 BigQuery 문제를 진단할 수 있습니다.

  • bq 명령줄 도구 bq show -j <var>JOB_ID</var> 명령어를 사용하거나 쿼리 명령어에 --format=prettyjson 플래그를 추가하여 자세한 오류 구조, 요청 ID, 작업 메타데이터를 검사합니다. 자세한 내용은 CLI 명령어 문제 해결을 참조하세요.
  • gcpdiag 도구 명령줄에서 자동 진단을 실행하여 IAM 권한 격차, 네트워크 제한, 서비스 계정 오류를 포함한 일반적인 Google Cloud 구성 문제를 감지합니다. 자세한 내용은 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 Data Transfer Service 문제, 비공개 전송을 위한 네트워크 연결, CSV 데이터 로드 오류를 진단합니다.
  • 전송 구성 문제 해결 Amazon Simple Storage Service (Amazon S3), Salesforce, Google Ads, Cloud Storage와 같은 소스에서 BigQuery Data Transfer Service 서비스 구성 오류를 해결합니다.
  • BigQuery Storage API 문제 해결 BigQuery Storage Read API, BigQuery Storage Write API (gRPC), BigQuery Storage Write API (REST) 스트리밍 수집 실패, 행 수준 삽입 오류, 처리량 할당량을 디버깅합니다.
  • 스키마 오류 문제 해결 로드, 쿼리, 복사, 스키마 업데이트 작업 (예: 누락, 중복 또는 호환되지 않는 열 변경) 및 15단계 스키마, 파일, 루틴 중첩 깊이 제한으로 인한 스키마 불일치 오류를 해결합니다.

데이터 웨어하우스 마이그레이션

외부 데이터 웨어하우스를 BigQuery로 평가, 변환 또는 마이그레이션할 때 발생하는 문제를 진단합니다.

  • 이전 문제 해결하기 마이그레이션 평가 오류, 대화형 및 일괄 SQL 변환 문제, 메타데이터 추출 실패를 해결합니다.

외부 데이터 소스 및 페더레이션 쿼리

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

결제 및 비용 불일치

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

데이터 손실 완화

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

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

API 사용

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

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

인증 및 ADC

애플리케이션 기본 사용자 인증 정보 (ADC)를 사용할 때 발생할 수 있는 일반적인 문제를 해결하려면 ADC 설정 문제 해결을 참조하세요.

다음 단계