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 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 웹 UI를 엽니다.

    Cloud Storage 웹 UI

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

  3. Cloud Storage 웹 UI 맨 위에서 객체 경로를 확인합니다. 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라는 2개의 파일이 있다면 버킷 URI는 gs://mybucket/fed-sample*이 됩니다. 그런 다음 이 와일드 카드 URI를 웹 UI 또는 CLI에서 사용할 수 있습니다.

와일드 카드는 버킷 내의 객체(파일 이름)에 하나만 사용할 수 있습니다. 와일드 카드는 객체 이름 중간이나 끝에 입력할 수 있습니다. 버킷 이름에는 와일드 카드를 추가할 수 없습니다.

위치 고려 사항

데이터 위치를 선택할 때는 다음 사항을 고려해야 합니다.
  • BigQuery 데이터세트와 외부 데이터 소스를 같은 위치에 배치합니다.
    • Cloud Storage 같은 외부 데이터 소스의 데이터를 쿼리할 경우 쿼리하는 데이터가 BigQuery 데이터세트와 동일한 위치에 있어야 합니다. 예를 들어 BigQuery 데이터세트가 EU 다중 지역 위치에 있는 경우 쿼리하는 데이터가 포함된 Cloud Storage 버킷이 EU 다중 지역 버킷에 있어야 합니다. 데이터세트가 US 다중 지역 위치에 있는 경우 Cloud Storage 버킷은 US 다중 지역 버킷에 있어야 합니다.
    • 데이터세트가 지역 내 위치에 있는 경우 쿼리하는 데이터가 포함된 Cloud Storage 버킷은 같은 위치의 지역 내 위치에 있어야 합니다. 예를 들어 데이터세트가 도쿄 지역에 있는 경우 Cloud Storage 버킷은 도쿄의 지역 내 버킷에 있어야 합니다.
    • 외부 데이터세트가 Cloud Bigtable에 있는 경우 데이터세트는 US 또는 EU 다중 지역 위치에 있어야 합니다. Cloud Bigtable 데이터는 지원되는 Cloud Bigtable 위치 중 하나에 있어야 합니다.
    • 위치 고려 사항은 Google 드라이브 외부 데이터 소스에는 적용되지 않습니다.
  • 데이터를 로드하기 위한 Cloud Storage 버킷을 같은 위치에 배치합니다.
    • BigQuery 데이터세트가 다중 지역 위치에 있는 경우 로드하는 데이터가 포함된 Cloud Storage 버킷은 같은 위치의 다중 지역 버킷에 있어야 합니다. 예를 들어 BigQuery 데이터세트가 EU에 있는 경우 Cloud Storage 버킷은 EU 지역 내 또는 다중 지역 버킷에 있어야 합니다.
    • 데이터세트가 지역 내 위치에 있는 경우 Cloud Storage 버킷은 같은 위치의 지역 내 버킷에 있어야 합니다. 예를 들어 데이터세트가 도쿄 지역에 있는 경우 Cloud Storage 버킷은 도쿄의 지역 내 버킷에 있어야 합니다.
    • 예외: 데이터세트가 US 다중 지역 위치에 있는 경우 모든 지역 내 또는 다중 지역 위치의 Cloud Storage 버킷에서 데이터를 로드할 수 있습니다.
  • 데이터를 내보내기 위한 Cloud Storage 버킷을 같은 위치에 배치합니다.
    • 데이터를 내보낼 때 지역 내 또는 다중 지역 Cloud Storage 버킷은 BigQuery 데이터세트와 같은 위치에 있어야 합니다. 예를 들어 BigQuery 데이터세트가 EU 다중 지역 위치에 있는 경우 내보내는 데이터가 포함된 Cloud Storage 버킷은 EU 지역 내 또는 다중 지역 위치에 있어야 합니다.
    • 데이터세트가 지역 내 위치에 있는 경우 Cloud Storage 버킷은 같은 위치의 지역 내 버킷에 있어야 합니다. 예를 들어 데이터세트가 도쿄 지역에 있는 경우 Cloud Storage 버킷은 도쿄의 지역 내 버킷에 있어야 합니다.
    • 예외: 데이터세트가 US 다중 지역 위치에 있는 경우 모든 지역 내 또는 다중 지역 위치의 Cloud Storage 버킷으로 데이터를 내보낼 수 있습니다.
  • 데이터 관리 계획을 세웁니다.
    • BigQuery 데이터세트 또는 Cloud Storage 버킷과 같이 지역 내 저장소 리소스를 선택한 경우 데이터를 지리적으로 관리하기 위한 계획을 세웁니다.
Cloud Storage 위치에 대한 자세한 내용은 Cloud Storage 문서의 버킷 위치를 참조하세요.

다른 위치 간 BigQuery 데이터 이동

데이터세트를 만든 후에는 위치를 변경할 수 없습니다. 한 위치에서 다른 위치로 데이터세트를 이동할 수도 없습니다. 한 위치에서 다른 위치로 데이터세트를 이동해야 하는 경우 다음 프로세스를 따릅니다.

  1. 데이터세트와 같은 위치의 지역 내 또는 다중 지역 Cloud Storage 버킷으로 BigQuery 테이블의 데이터를 내보냅니다. 예를 들어 데이터가 EU 다중 지역 위치에 있는 경우 EU 지역 내 또는 다중 지역 버킷으로 데이터를 내보냅니다.

    BigQuery에서 데이터를 내보내는 데는 요금이 부과되지 않지만 Cloud Storage에 내보낸 데이터를 저장하는 데는 요금이 부과됩니다. BigQuery 내보내기에는 내보내기 작업의 제한사항이 적용됩니다.

  2. Cloud Storage 버킷에서 데이터를 새 위치의 지역 내 또는 다중 지역 버킷으로 복사하거나 이동합니다. 예를 들어 US 다중 지역 위치의 데이터를 도쿄 지역 위치로 이동하는 경우 데이터를 도쿄의 지역 내 버킷으로 전송할 것입니다. Cloud Storage 객체 전송에 대한 자세한 내용은 Cloud Storage 문서의 객체 이름 바꾸기, 복사, 이동을 참조하세요.

    지역 간에 데이터를 전송하면 Cloud Storage에 네트워크 송신 요금이 부과됩니다.

  3. 새 위치의 Cloud Storage 버킷으로 데이터를 전송한 후 새 위치에 새 BigQuery 데이터세트를 만듭니다. 그런 다음 Cloud Storage 버킷의 데이터를 BigQuery로 로드합니다.

    BigQuery로 데이터를 로드하는 데는 요금이 부과되지 않지만 데이터 또는 버킷을 삭제하기 전에는 Cloud Storage에 데이터를 저장하는 데 요금이 부과됩니다. 데이터를 로드한 후에는 BigQuery에 데이터를 저장하는 요금도 청구됩니다. BigQuery에 데이터를 로드할 때는 로드 작업의 제한사항이 적용됩니다.

Cloud Storage를 사용하여 대규모 데이터세트를 저장하고 이동하는 방법에 대한 자세한 내용은 빅데이터에 Google Cloud Storage 사용하기를 참조하세요.

할당량 및 한도

BigQuery Data Transfer Service는 로드 작업을 사용하여 Cloud Storage 데이터를 BigQuery로 로드합니다. 로드 작업에 대한 모든 BigQuery 할당량 및 한도는 반복되는 Cloud Storage 로드 작업에 적용됩니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.