Azure Data Factory 또는 Synapse Analytics를 사용하여 Google BigQuery에서 데이터 복사

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

이 문서에서는 Azure Data Factory 및 Synapse Analytics 파이프라인에서 복사 작업을 사용하여 Google BigQuery에서 데이터를 복사하는 방법을 간략하게 설명합니다. 이 문서는 복사 작업에 대한 일반적인 개요를 제공하는 복사 작업 개요 문서를 기반으로 합니다.

Important

새로운 Google BigQuery 커넥터는 개선된 네이티브 Google BigQuery 지원을 제공합니다. 이전 버전과의 호환성을 위해서만 있는 그대로 지원되는 레거시 Google BigQuery 커넥터를 솔루션에서 사용하는 경우 Google BigQuery 커넥터(레거시) 문서를 참조하세요.

지원되는 기능

이 Google BigQuery 커넥터는 다음 기능을 지원합니다.

지원되는 기능 IR
복사 작업(원본/-) ① ②
조회 작업 ① ②

① Azure 통합 런타임 ② 자체 호스팅 통합 런타임

복사 작업의 원본 또는 싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소 표를 참조하세요.

이 서비스는 연결을 사용하도록 설정하는 기본 제공 드라이버를 제공합니다. 따라서 이 커넥터를 사용하기 위해 드라이버를 수동으로 설치할 필요가 없습니다.

참고 항목

Google BigQuery 커넥터는 BigQuery API를 기반으로 구축되었습니다. 단, BigQuery는 최대 수신 요청 비율을 제한하고 프로젝트 단위로 적절한 할당량을 강제 적용합니다. 자세한 내용은 할당량 및 제한 - API 요청을 참조하세요. 계정에 너무 많은 동시 요청을 트리거하지 않도록 하세요.

시작하기

파이프라인에 복사 작업을 수행하려면 다음 도구 또는 SDK 중 하나를 사용하면 됩니다.

UI를 사용하여 Google BigQuery에 연결된 서비스 만들기

다음 단계를 사용하여 Azure Portal UI에서 Google BigQuery에 연결된 서비스를 만듭니다.

  1. Azure Data Factory 또는 Synapse 작업 영역에서 관리 탭으로 이동하여 연결된 서비스를 선택하고 새로 만들기를 클릭합니다.

  2. Google BigQuery를 쿼리하고 커넥터를 선택합니다.

    Google BigQuery 커넥터의 스크린샷

  3. 서비스 세부 정보를 구성하고, 연결을 테스트하고, 새로운 연결된 서비스를 만듭니다.

    Google BigQuery에 연결된 서비스 구성의 스크린샷

커넥터 구성 세부 정보

다음 섹션에서는 Google BigQuery 커넥터와 관련된 항목을 정의하기 위해 사용되는 속성에 대한 세부 정보를 살펴봅니다.

연결된 서비스 속성

다음은 Google BigQuery 연결된 서비스에 대해 지원되는 속성입니다.

속성 설명 필수
type type 속성은 GoogleBigQueryV2로 설정해야 합니다.
projectId 쿼리할 기본 BigQuery 프로젝트의 프로젝트 ID입니다.
authenticationType 인증에 사용되는 OAuth 2.0 인증 메커니즘입니다.
허용되는 값은 UserAuthenticationServiceAuthentication입니다. 각 인증 형식에 대한 더 많은 속성 및 JSON 샘플은 표 아래 섹션을 참조하세요.

사용자 인증 사용

“authenticationType” 속성을 UserAuthentication으로 설정하고, 이전 섹션에서 설명한 일반 속성과 함께 다음 속성을 지정합니다.

속성 설명 필수
clientId 새로 고침 토큰을 생성하는 데 사용되는 애플리케이션의 ID입니다.
clientSecret 새로 고침 토큰을 생성하는 데 사용되는 애플리케이션의 비밀입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하거나, Azure Key Vault에 저장된 비밀을 참조합니다.
refreshToken BigQuery에 대한 액세스 권한을 부여하는 데 사용되는 Google에서 가져온 새로 고침 토큰입니다. OAuth 2.0 액세스 토큰 가져오기이 커뮤니티 블로그에서 토큰을 가져오는 방법을 알아보세요. 이 필드를 SecureString으로 표시하여 안전하게 저장하거나, Azure Key Vault에 저장된 비밀을 참조합니다.

예제:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQueryV2",
        "typeProperties": {
            "projectId" : "<project ID>",
            "authenticationType" : "UserAuthentication",
            "clientId": "<client ID>",
            "clientSecret": {
                "type": "SecureString",
                "value":"<client secret>"
            },
            "refreshToken": {
                "type": "SecureString",
                "value": "<refresh token>"
            }
        }
    }
}

서비스 인증 사용

“authenticationType” 속성을 ServiceAuthentication으로 설정하고, 이전 섹션에서 설명한 일반 속성과 함께 다음 속성을 지정합니다.

속성 설명 필수
keyFileContent 서비스 계정을 인증하는 데 사용되는 JSON 형식의 키 파일입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하거나, Azure Key Vault에 저장된 비밀을 참조합니다.

예제:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQueryV2",
        "typeProperties": {
            "projectId": "<project ID>",
            "authenticationType": "ServiceAuthentication",
            "keyFileContent": {
                "type": "SecureString",
                "value": "<key file JSON string>"
            }
        }
    }
}

데이터 세트 속성

데이터 세트 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 데이터 세트 문서를 참조하세요. 이 섹션에서는 Google BigQuery 데이터 세트에서 지원하는 속성의 목록을 제공합니다.

Google BigQuery에서 데이터를 복사하려면 데이터 세트의 type 속성을 GoogleBigQueryV2Object로 설정합니다. 다음과 같은 속성이 지원됩니다.

속성 설명 필수
type 데이터 세트의 형식 속성은 GoogleBigQueryV2Object로 설정되어야 합니다.
데이터 세트 Google BigQuery 데이터 세트의 이름입니다. 아니요(작업 원본에서 "query"가 지정된 경우)
table 테이블 이름입니다. 아니요(작업 원본에서 "query"가 지정된 경우)

예제

{
    "name": "GoogleBigQueryDataset",
    "properties": {
        "type": "GoogleBigQueryV2Object",
        "linkedServiceName": {
            "referenceName": "<Google BigQuery linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [],
        "typeProperties": {
            "dataset": "<dataset name>",
            "table": "<table name>"
        }
    }
}

복사 작업 속성

작업 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 파이프라인 문서를 참조하세요. 이 섹션에서는 Google BigQuery 원본 형식에서 지원하는 속성의 목록을 제공합니다.

원본 형식인 GoogleBigQuerySource

Google BigQuery에서 데이터를 복사하려면 복사 작업의 원본 형식을 GoogleBigQueryV2Source로 설정합니다. 복사 작업 원본 섹션에서 지원되는 속성은 다음과 같습니다.

속성 설명 필수
type 복사 작업 원본의 형식 속성은 GoogleBigQueryV2Source로 설정되어야 합니다.
query 사용자 지정 SQL 쿼리를 사용하여 데이터를 읽습니다. 예제는 "SELECT * FROM MyTable"입니다. 자세한 내용은 쿼리 구문을 참조하세요. 아니요(데이터 세트의 "데이터 세트" 및 "테이블"이 지정된 경우)

예제:

"activities":[
    {
        "name": "CopyFromGoogleBigQuery",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Google BigQuery input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GoogleBigQueryV2Source",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

조회 작업 속성

속성에 대한 자세한 내용을 보려면 조회 작업을 확인하세요.

Google BigQuery 연결 서비스 업그레이드

Google BigQuery 연결 서비스를 업그레이드하려면 새 Google BigQuery 연결 서비스를 만들고 연결 서비스 속성을 참조하여 구성합니다.

Google BigQuery와 Google BigQuery(레거시)의 차이점

Google BigQuery 커넥터는 새로운 기능을 제공하며 Google BigQuery(레거시) 커넥터의 대부분의 기능과 호환됩니다. 아래 표에는 Google BigQuery와 Google BigQuery(레거시)의 기능 차이점이 나와 있습니다.

Google BigQuery Google BigQuery(레거시)
서비스 인증은 Azure Integration Runtime 및 자체 호스팅 통합 런타임에서 지원됩니다.
TrustedCertPath, useSystemTrustStore, email 및 keyFilePath 속성은 자체 호스팅 통합 런타임에서만 사용할 수 있으므로 지원되지 않습니다.
서비스 인증은 자체 호스팅 통합 런타임에서만 지원됩니다.
ReliableCertPath, useSystemTrustStore, email 및 keyFilePath 속성을 지원합니다.
다음 매핑은 Google BigQuery 데이터 형식에서 서비스 내부적으로 사용되는 중간 데이터 형식으로 사용됩니다.

Numeric -> Decimal
Timestamp -> DateTimeOffset
Datetime -> DatetimeOffset
다음 매핑은 Google BigQuery 데이터 형식에서 서비스 내부적으로 사용되는 중간 데이터 형식으로 사용됩니다.

Numeric -> String
Timestamp -> DateTime
Datetime -> DateTime
requestGoogleDriveScope는 지원되지 않습니다. Google 드라이브 API 범위 선택드라이브 데이터 쿼리를 참고하여 Google BigQuery 서비스에서 권한을 추가로 적용해야 합니다. requestGoogleDriveScope를 지원합니다.
추가 프로젝트는 지원되지 않습니다. 대안으로, Google Cloud 콘솔을 사용하여 공용 데이터 세트를 쿼리합니다. 추가 프로젝트를 지원합니다.

복사 작업에서 원본 및 싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소를 참조하세요.