Google BigQuery
요약
항목 | 설명 |
---|---|
릴리스 상태 | 일반 공급 |
제품 | Power BI(의미 체계 모델) Power BI(데이터 흐름) 패브릭(데이터 흐름 Gen2) Power Apps(데이터 흐름) Customer Insights(데이터 흐름) |
지원되는 인증 유형 | 조직 계정 서비스 계정 |
참고 항목
일부 기능은 한 제품에 있을 수 있지만 배포 일정 및 호스트별 기능으로 인해 다른 기능은 없을 수 있습니다.
참고 항목
2021년 7월부터 Google은 포함된 브라우저 프레임워크에서 Google 계정에 로그인하는 지원을 중단했습니다. 이 변경으로 인해 Google에 로그인할 수 있도록 Power BI Desktop 버전을 2021년 6월 이상으로 업데이트 해야 합니다.
필수 조건
Google BigQuery에 로그인하려면 Google 계정 또는 Google 서비스 계정이 필요합니다.
지원되는 기능
- 가져오기
- DirectQuery(Power BI 의미 체계 모델)
파워 쿼리 데스크톱에서 Google BigQuery 데이터에 연결
파워 쿼리 데스크톱에서 Google BigQuery에 연결하려면 다음 단계를 수행합니다.
데이터 가져오기 환경에서 Google BigQuery를 선택합니다. 파워 쿼리 데스크톱의 데이터 가져오기 환경은 앱마다 다릅니다. 파워 쿼리 데스크톱 앱에 대한 데이터 환경 가져오기에 대한 자세한 내용은 데이터를 가져올 위치로 이동합니다.
고급 옵션을 사용하려면 고급 옵션을 선택합니다. 그렇지 않은 경우 확인을 선택하여 계속합니다. 추가 정보: 고급 옵션을 사용하여 연결
Google BigQuery 커넥터는 조직 계정 또는 서비스 계정 로그인을 통한 연결을 지원합니다. 이 예제에서는 조직 계정을 사용하여 로그인합니다. 계속하려면 로그인을 선택합니다.
Google 서비스 계정을 사용하여 로그인할 수도 있습니다. 이 경우 서비스 계정 로그인을 선택하고 서비스 계정 전자 메일 및 서비스 계정 JSON 키 파일 콘텐츠를 입력합니다. 그런 다음 연결을 선택합니다.
Google로 로그인 대화 상자가 나타납니다. Google 계정을 선택하고 Power BI Desktop에 대한 연결을 승인합니다.
로그인한 후 연결을 선택하여 계속합니다.
성공적으로 연결 되면 탐색기 창이 나타나고 서버에서 사용할 수 있는 데이터가 표시됩니다. 탐색기에서 데이터를 선택합니다. 그런 다음 데이터 변환을 선택하여 파워 쿼리에서 데이터를 변환하거나 로드하여 Power BI Desktop에서 데이터를 로드합니다.
파워 쿼리 온라인에서 Google BigQuery 데이터에 연결
파워 쿼리 온라인에서 Google BigQuery에 연결하려면 다음 단계를 수행합니다.
데이터 가져오기 환경에서 Google BigQuery 옵션을 선택합니다. 다른 앱에는 파워 쿼리 온라인 데이터 가져오기 환경에 액세스하는 다양한 방법이 있습니다. 파워 쿼리 온라인 앱에서 데이터 환경을 가져오는 방법에 대한 자세한 내용은 데이터를 가져올 위치로 이동합니다.
Google BigQuery 데이터베이스 대화 상자에서 새 연결을 만들거나 기존 연결을 선택해야 할 수 있습니다. 온-프레미스 데이터를 사용하는 경우 온-프레미스 데이터 게이트웨이를 선택합니다. 그런 다음, 로그인을 선택합니다.
Google로 로그인 대화 상자가 나타납니다. Google 계정을 선택하고 연결을 승인합니다.
참고 항목
로그인 대화 상자에서 로그인한 후 Power BI Desktop을 계속 진행한다고 말하지만, 대신 온라인 앱으로 전송됩니다.
고급 옵션을 사용하려면 고급 옵션을 선택합니다. 추가 정보: 고급 옵션을 사용하여 연결
로그인한 후 다음을 선택하여 계속합니다.
성공적으로 연결 되면 탐색기 창이 나타나고 서버에서 사용할 수 있는 데이터가 표시됩니다. 탐색기에서 데이터를 선택합니다. 그런 다음 다음을 선택하여 파워 쿼리에서 데이터를 변환합니다.
고급 옵션을 사용하여 연결
파워 쿼리 데스크톱과 파워 쿼리 온라인은 필요한 경우 쿼리에 추가할 수 있는 고급 옵션 집합을 제공합니다.
다음 표에서는 파워 쿼리 데스크톱 및 파워 쿼리 온라인에서 설정할 수 있는 모든 고급 옵션을 나열합니다.
고급 옵션 | 설명 |
---|---|
청구 프로젝트 ID | 파워 쿼리에서 쿼리를 실행할 프로젝트입니다. 사용 권한 및 청구는 이 프로젝트에 연결됩니다. 청구 프로젝트 ID가 제공되지 않으면 기본적으로 Google API에서 반환된 사용 가능한 첫 번째 프로젝트가 사용됩니다. |
Storage API 사용 | Google BigQuery의 Storage API를 사용할 수 있는 플래그입니다. 이 옵션은 기본적으로 true입니다. 스토리지 API를 사용하지 않고 REST API를 대신 사용하려면 이 옵션을 false로 설정할 수 있습니다. |
연결 시간 제한 기간 | 파워 쿼리가 연결이 완료되기를 기다리는 시간을 제어하는 표준 연결 설정(초)입니다. 15초 전에 연결이 완료되지 않으면 이 값을 변경할 수 있습니다(기본값). |
명령 시간 제한 기간 | 쿼리가 완료되고 결과를 반환할 때까지 파워 쿼리가 대기하는 기간입니다. 기본값은 드라이버 기본값에 따라 달라집니다. 연결을 더 오래 열어 두려면 몇 분 안에 다른 값을 입력할 수 있습니다. |
프로젝트 ID | 네이티브 쿼리를 실행할 프로젝트입니다. 이 옵션은 파워 쿼리 Desktop에서만 사용할 수 있습니다. |
SQL statement | 자세한 내용은 네이티브 데이터베이스 쿼리를 사용하여 데이터베이스에서 데이터 가져오기를 참조하세요. 이 버전의 네이티브 데이터베이스 쿼리 기능에서는 정규화된 테이블 이름을 형식 Database.Schema.Table 으로 사용해야 합니다. 예를 들면 다음과 같습니다 SELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE . 이 옵션은 파워 쿼리 Desktop에서만 사용할 수 있습니다. |
필요한 고급 옵션을 선택하면 파워 쿼리 데스크톱 또는 파워 쿼리 온라인의 다음에서 확인을 선택하여 Google BigQuery 데이터에 연결합니다.
제한 사항 및 고려 사항
이 섹션에서는 Google BigQuery 커넥터의 제한 사항 또는 고려 사항에 대해 설명합니다.
Power BI Desktop에서 Google BigQuery에 연결
Power BI에서 Google BigQuery 커넥터를 사용할 때 유의해야 할 몇 가지 제한 사항과 고려 사항이 있습니다.
커넥터 가용성
Google BigQuery 커넥터는 Power BI Desktop 및 Power BI 서비스에서 사용할 수 있습니다. Power BI 서비스에서는 Power BI에서 Google BigQuery로의 클라우드 간 연결을 사용하여 커넥터에 액세스할 수 있습니다.
"액세스 거부됨" 오류
Power BI Desktop에서 Google BigQuery에 연결하려고 하면 다음 오류 메시지가 표시될 수 있습니다.
Datasource.Error: ODBC: ERROR [HY000][Microsoft][BigQuery] (100) Error interacting with REST API: Access Denied: Project <project name>: The user <user name> bigquery.jobs.create permissions in project <project name>.
이 경우 파워 쿼리 연결 설정의 청구 프로젝트 고급 옵션에 청구 프로젝트 ID를 입력해야 할 수 있습니다.
또한 게이트웨이를 사용하여 Power BI 서비스 보고서를 만드는 경우에도 이 오류가 발생할 수 있습니다. 이 경우 파워 쿼리 편집기 또는 파워 쿼리 수식 입력줄을 사용하여 연결에 대한 M 코드에 청구 프로젝트 ID를 수동으로 포함해야 합니다. 예시:
Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])
중첩된 필드
성능 고려 사항을 최적화하기 위해 Google BigQuery는 비정규화, 평면화 및 중첩될 때 큰 데이터 집합을 잘 사용합니다.
Google BigQuery 커넥터는 JSON 형식의 텍스트 열로 로드되는 중첩 필드를 지원합니다.
사용자는 데이터 변환을 선택한 다음 Power Query 편집기 JSON 구문 분석 기능을 사용하여 데이터를 추출해야 합니다.
- 변환 리본 탭의 텍스트 열 범주에서 구문 분석 및 JSON을 선택합니다.
- 열 확장 옵션을 사용하여 JSON 레코드 필드를 추출합니다.
Google 서비스 계정 설정
Google 서비스 계정을 설정하거나 사용하는 방법에 대한 자세한 내용은 Google 문서에서 서비스 계정 키 만들기 및 관리로 이동하세요.
Google 서비스 계정을 통해 인증
Power BI Desktop에서 Google 서비스 계정을 통해 인증하는 경우 커넥터에 필요한 특정 자격 증명 형식이 있습니다.
- 서비스 계정 전자 메일: 전자 메일 형식이어야 합니다.
- 서비스 계정 JSON 키 파일 내용: 이 JSON 키를 다운로드한 후에는 콘텐츠가 한 줄에 있도록 파일에서 모든 새 줄을 제거해야 합니다. JSON 파일이 해당 형식이 되면 내용을 이 필드에 붙여넣을 수 있습니다.
Power BI 서비스 또는 파워 쿼리 온라인에서 Google 서비스 계정을 통해 인증하는 경우 사용자는 "기본" 인증을 사용해야 합니다. 사용자 이름 필드는 서비스 계정 전자 메일 필드에 매핑되고 암호 필드는 서비스 계정 JSON 키 파일 콘텐츠 필드에 매핑됩니다. 각 자격 증명에 대한 형식 요구 사항은 Power BI Desktop, Power BI 서비스 및 파워 쿼리 Online 모두에서 동일하게 유지됩니다.
Google BigQuery Storage API를 사용하여 인증할 수 없음
Google BigQuery 커넥터는 기본적으로 Google BigQuery Storage API를 사용합니다. 이 기능은 UseStorageApi라는 고급 옵션에 의해 제어됩니다. 세분화된 권한을 사용하는 경우 이 기능에 문제가 발생할 수 있습니다. 이 시나리오에서는 다음 오류 메시지가 표시되거나 쿼리에서 데이터를 가져오는 데 실패할 수 있습니다.
ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google BigQuery Storage API. Check your account permissions
BigQuery Storage API에 대한 사용자 권한을 올바르게 조정하여 이 문제를 해결할 수 있습니다. 이러한 스토리지 API 권한은 BigQueryStorage API를 사용하여 데이터에 올바르게 액세스하는 데 필요합니다.
bigquery.readsessions.create
: BigQuery Storage API를 통해 새 읽기 세션을 만듭니다.bigquery.readsessions.getData
: BigQuery Storage API를 통해 읽기 세션에서 데이터를 읽습니다.bigquery.readsessions.update
: BigQuery Storage API를 통해 읽기 세션을 업데이트합니다.
이러한 권한은 일반적으로 역할에 제공됩니다 BigQuery.User
. 자세한 정보, Google BigQuery 미리 정의된 역할 및 권한
위의 단계에서 문제가 해결되지 않으면 BigQuery Storage API를 사용하지 않도록 설정할 수 있습니다.
직접 쿼리 모드에서 DateTime 형식 데이터를 사용할 수 없음
DateTime 형식이 직접 쿼리를 통해 지원되지 않는 알려진 문제가 있습니다. DateTime 형식의 열을 선택하면 "잘못된 쿼리" 오류 또는 시각적 오류가 발생합니다.
테이블 이름과 이름이 같은 열 쿼리에 대한 제한 사항
테이블 이름과 이름이 같은 열을 쿼리할 때 BigQuery는 열을 지정된 열 대신 테이블의 모든 열을 포함하는 열로 struct
해석합니다. 예를 들어 SELECT debug FROM dataset.debug
지정된 디버그 열 대신 디버그 테이블의 모든 열이 있는 열을 반환 struct
합니다. 이 동작은 직관적이지 않으며 수정 사항을 조사 중입니다. 다음과 같은 세 가지 해결 방법을 사용할 수 있습니다.
- 해결 방법 1: 열 이름과 충돌하지 않는 뷰로 테이블을 래핑합니다.
CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
- 해결 방법 2: 테이블 이름과 충돌하지 않도록 열 이름을 바꿉니다.
ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
- 해결 방법 3: table.column을 사용하여 충돌 열을 참조하도록 SELECT 쿼리를 변경합니다.
SELECT debug.debug FROM dataset.debug
구체화된 뷰는 Power BI Desktop 탐색기에서 지원되지 않습니다.
알려진 문제는 Google BigQuery 커넥터가 현재 Power BI Desktop 탐색기에서 구체화된 보기를 지원하지 않는다는 것입니다.
- 해결 방법: 네이티브 쿼리 SQL 문을 활용하여 Google BigQuery에서 구체화된 뷰를 가져옵니다.
HTTP 오류 403: quotaExceeded(할당량 초과: 사용자가 동시 project.lists 요청에 대한 할당량을 초과함)
- 할당량은 Google에 대한 project.lists API 호출의 고객 계정 사용량에서 초과됩니다. 여러 보고서가 동시에 새로 고쳐지면 다른 쿼리 또는 보고서에서 오류가 트리거될 수 있습니다. 오류를 방지하려면 보고서 새로 고침을 엇갈리게 간격으로 예약합니다.
- 청구 프로젝트 ID를 포함하도록 쿼리 업데이트 -
GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])
. - 호출은 오류를 방지하려면
GoogleBigQuery.Database
스키마 및 테이블 선택과 동일한 쿼리에 있어야 합니다.