Cloud Storage 전송 개요

Cloud Storage용 BigQuery Data Transfer Service를 사용하면 Cloud Storage에서 BigQuery로 반복되는 데이터 로드를 예약할 수 있습니다. Cloud Storage 경로 및 대상 테이블은 둘 다 매개변수화할 수 있으므로 날짜별로 정리된 Cloud Storage 버킷에서 데이터를 로드할 수 있습니다.

지원되는 파일 형식

현재 BigQuery Data Transfer Service는 Cloud Storage에서 다음 형식 중 하나로 데이터 로드를 지원합니다.

  • 쉼표로 구분된 값(CSV)
  • JSON(줄바꿈으로 구분)
  • Avro
  • Parquet
  • ORC

지원되는 압축 유형

Cloud Storage용 BigQuery Data Transfer Service는 압축 데이터 로드를 지원합니다. BigQuery Data Transfer Service에서 지원되는 압축 유형은 BigQuery 로드 작업에서 지원되는 압축 유형과 동일합니다. 자세한 내용은 압축 데이터 및 압축되지 않은 데이터 로드를 참조하세요.

Cloud Storage URI

Cloud Storage 데이터 소스에서 데이터를 로드하려면 Cloud Storage URI를 제공해야 합니다.

Cloud Storage URI는 버킷 이름과 객체(파일 이름)로 구성됩니다. 예를 들어 Cloud Storage 버킷 이름이 mybucket이고 데이터 파일 이름이 myfile.csv라면 버킷 URI는 gs://mybucket/myfile.csv가 됩니다. 데이터가 여러 개의 파일로 분리되어 있으면 URI에 와일드 카드를 사용할 수 있습니다. 자세한 내용은 Cloud Storage 요청 URI를 참조하세요.

BigQuery는 처음 이중 슬래시 다음에 슬래시 여러 개가 연속으로 포함된 소스 URI를 지원하지 않습니다. Cloud Storage 객체 이름에는 연속된 슬래시('/') 문자 여러 개가 포함될 수 있습니다. 하지만 BigQuery는 연속된 슬래시 여러 개를 단일 슬래시로 변환합니다. 예를 들어 소스 URI gs://bucket/my//object//name은 Cloud Storage에서는 유효하지만 BigQuery에서는 작동하지 않습니다.

Cloud Storage URI를 가져오려면 다음 안내를 따르세요.

  1. Cloud Storage 콘솔을 엽니다.

    Cloud Storage Console

  2. 소스 데이터가 포함된 객체(파일) 위치로 이동합니다.

  3. Cloud Storage Console 맨 위에서 객체 경로를 확인합니다. URI를 만들기 위해 gs://bucket/file을 적절한 경로로 바꿉니다(예: gs://mybucket/myfile.json). bucket은 Cloud Storage 버킷 이름이고 file은 데이터가 포함된 객체(파일) 이름입니다.

Cloud Storage URI의 와일드 카드 지원

Cloud Storage 데이터가 공통 기본 이름을 공유하는 여러 파일로 분리되어 있으면 데이터를 로드할 때 URI에 와일드 카드를 사용할 수 있습니다.

Cloud Storage URI에 와일드 카드를 추가하려면 기본 이름에 별표(*)를 추가합니다. 예를 들어 fed-sample000001.csvfed-sample000002.csv라는 파일 두 개가 있다면 버킷 URI는 gs://mybucket/fed-sample*입니다. 그러면 이 와일드 카드 URI를 콘솔 또는 Google Cloud CLI에서 사용할 수 있습니다.

버킷 내에서 객체(파일 이름)에 여러 와일드 카드를 사용할 수 있습니다. 와일드 카드는 객체 이름 내의 아무 곳에나 나타날 수 있습니다.

와일드 카드는 gs://bucket/의 디렉터리를 확장하지 않습니다. 예를 들어 gs://bucket/dir/*dir 디렉터리의 파일을 찾지만 gs://bucket/dir/subdir/ 하위 디렉터리의 파일은 찾지 않습니다.

또한 와일드 카드 없이 프리픽스를 일치시킬 수 없습니다. 예를 들어 gs://bucket/dirgs://bucket/dir/file.csvgs://bucket/file.csv와 일치하지 않습니다.

하지만 버킷 내에서 파일 이름에 여러 개의 와일드 카드를 사용할 수 있습니다. 예를 들어 gs://bucket/dir/*/*.csvgs://bucket/dir/subdir/file.csv와 일치합니다.

매개변수화된 테이블 이름과 조합한 와일드카드 지원의 예시는 전송에 런타임 매개변수 사용을 참조하세요.

위치 고려사항

Cloud Storage 버킷은 BigQuery에서 대상 데이터 세트의 리전 또는 멀티 리전과 호환되는 리전 또는 멀티 리전에 있어야 합니다.

  • BigQuery 데이터 세트가 멀티 리전에 있으면 전송 중인 데이터가 포함된 Cloud Storage 버킷은 동일한 멀티 리전이나 멀티 리전 내에 포함된 위치에 있어야 합니다. 예를 들어 BigQuery 데이터 세트가 `EU` 멀티 리전에 있으면 Cloud Storage 버킷은 EU 내에 있는 `europe-west1` 벨기에 리전에 있을 수 있습니다.
  • 데이터 세트가 한 리전에 있으면 Cloud Storage 버킷은 같은 리전에 있어야 합니다. 예를 들어 데이터 세트가 `asia-northeast1` 도쿄 리전에 있으면 Cloud Storage 버킷은 `ASIA` 멀티 리전에 있을 수 없습니다.

전송 및 리전에 대한 자세한 내용은 데이터 세트 위치 및 전송을 참조하세요.

Cloud Storage 위치에 대한 자세한 내용은 Cloud Storage 문서의 버킷 위치를 참조하세요.

가격 책정

  • 로드 작업에 대한 표준 BigQuery 할당량 및 한도가 적용됩니다.

  • 데이터가 BigQuery로 전송된 후에는 BigQuery의 표준 스토리지쿼리 가격이 적용됩니다.

  • 전송을 설정할 때 삭제를 지정하지 않으면 BigQuery에 업로드된 데이터는 Cloud Storage 버킷에서 자동으로 삭제되지 않습니다. Cloud Storage 전송 설정을 참조하세요.

  • 자세한 내용은 전송 가격 책정 페이지를 참조하세요.

할당량 및 한도

BigQuery Data Transfer Service는 로드 작업을 사용하여 Cloud Storage 데이터를 BigQuery로 로드합니다.

로드 작업에 대한 모든 BigQuery 할당량 및 한도는 다음과 같은 추가 고려사항과 함께 반복되는 Cloud Storage 로드 작업에 적용됩니다.

한도
로드 작업 전송 실행당 최대 크기 15TB
전송 실행당 최대 파일 수 10,000개 파일

다음 단계