연결된 시트

연결된 시트 를 사용하면 Google Sheets에서 직접 페타바이트 규모의 데이터를 분석할 수 있습니다. 다음과 같은 작업을 할 수 있습니다. 스프레드시트를 BigQuery와 연결 익숙한 Sheets 도구를 사용해 분석을 수행할 수 있습니다. 피벗 테이블, 차트, 수식 등을 사용하는 것이 좋습니다

이 가이드에서는 Shakespeare 드림 공개 데이터 세트를 참조하세요. 데이터 세트 에는 다음 정보가 포함됩니다.

필드 유형 설명
word STRING 코퍼스에서 추출된 고유한 단일 단어 (공백이 구분자임)입니다.
word_count INTEGER 이 코퍼스에서 이 단어가 나타나는 횟수입니다.
corpus STRING 이 단어가 추출된 저작물입니다.
corpus_date INTEGER 이 코퍼스가 게시된 연도입니다.

애플리케이션이 연결된 시트 데이터를 요청하는 경우 다음을 제공해야 합니다. bigquery.readonly 범위를 부여하는 OAuth 2.0 토큰 기타 범위를 지정할 수 있습니다. 자세한 내용은 자세한 내용은 Google Sheets API 범위 선택하기를 참고하세요.

데이터 소스 관리

데이터 소스는 데이터가 있는 외부 위치를 지정합니다. 데이터 소스가 스프레드시트에 연결됩니다.

BigQuery 데이터 소스 추가

데이터 소스를 추가하려면 AddDataSourceRequest 드림 사용 spreadsheets.batchUpdate 메서드를 사용하여 축소하도록 요청합니다. 요청 본문은 유형의 dataSource 필드를 지정해야 합니다. DataSource 객체

"addDataSource":{
   "dataSource":{
      "spec":{
         "bigQuery":{
            "projectId":"PROJECT_ID",
            "tableSpec":{
               "tableProjectId":"bigquery-public-data",
               "datasetId":"samples",
               "tableId":"shakespeare"
            }
         }
      }
   }
}

PROJECT_ID를 유효한 Google Cloud 프로젝트 ID로 바꿉니다.

데이터 소스가 생성되면 DATA_SOURCE 드림 시트가 생성되어 최대 500행의 미리보기가 제공됩니다. 미리보기가 즉시 사용할 수 있습니다 실행이 비동기식으로 트리거되어 BigQuery 데이터

AddDataSourceResponse 드림 에는 다음 필드가 포함됩니다.

  • dataSource: 생성된 DataSource 객체입니다. 이 dataSourceId은(는) 스프레드시트 범위의 고유 ID입니다. 이는 각 광고 단위를 만들기 위해 채워지고 참조됩니다. DataSource 객체를 가져옵니다.

  • dataExecutionStatus: BigQuery 데이터를 가져오는 실행의 상태입니다. 미리보기 시트에 붙여넣으면 됩니다. 자세한 내용은 데이터 실행 상태 섹션을 참조하세요.

데이터 소스 업데이트 또는 삭제하기

사용 spreadsheets.batchUpdate 드림 메서드를 사용하고 UpdateDataSourceRequest 또는 DeleteDataSourceRequest 요청할 수 있습니다

데이터 소스 객체 관리

데이터 소스가 스프레드시트에 추가되면 데이터 소스 객체를 만들 수 있습니다. 데이터 소스 객체는 일반적인 Sheets 도구입니다 피벗 테이블, 차트, 수식과 같은 Google Cloud SQL API의 연결된 시트로 데이터 분석을 강화하세요.

객체에는 네 가지 유형이 있습니다.

  • 테이블 DataSource
  • DataSource pivotTable
  • DataSource 차트
  • DataSource 수식

데이터 소스 표 추가

'추출'이라고 함 Sheets 편집기에서는 데이터 소스에서 Sheets로 데이터의 정적 덤프 가져오기 피벗 테이블과 마찬가지로 테이블이 지정되고 왼쪽 상단에 고정됩니다. 셀.

다음 코드 샘플은 spreadsheets.batchUpdate 드림 메서드와 UpdateCellsRequest 최대 1,000개의 행 (wordword_count)을 입력합니다.

"updateCells":{
   "rows":{
      "values":[
         {
            "dataSourceTable":{
               "dataSourceId":"DATA_SOURCE_ID",
               "columns":[
                  {
                     "name":"word"
                  },
                  {
                     "name":"word_count"
                  }
               ],
               "rowLimit":{
                  "value":1000
               },
               "columnSelectionType":"SELECTED"
            }
         }
      ]
   },
   "fields":"dataSourceTable"
}

DATA_SOURCE_ID를 데이터 소스를 식별합니다.

데이터 소스 테이블을 만든 후에 데이터를 즉시 사용할 수는 없습니다. 포함 스프레드시트 편집기에 미리보기로 표시됩니다. 새로고침해야 합니다 데이터 소스 테이블을 사용하여 BigQuery 데이터를 가져옵니다. 포드의 RefreshDataSourceRequest 드림 동일한 batchUpdate 내 모든 데이터 소스 객체는 유사하게 작동합니다. 자세한 내용은 데이터 소스 객체 새로고침을 참고하세요.

새로고침이 완료되고 BigQuery 데이터를 가져오면 데이터 소스가 테이블에 다음과 같이 입력됩니다.

셰익스피어 공개 데이터를 보여주는 데이터 소스 테이블
데이터 세트로 그룹화됩니다.

데이터 소스 피벗 테이블 추가

기존의 피벗 테이블과 달리 데이터 소스 피벗 테이블은 피벗 테이블에 있는 열 이름을 기준으로 데이터를 참조합니다. 다음 코드 샘플 spreadsheets.batchUpdate 메서드 및 UpdateCellsRequest: 총 단어 수를 표시하는 피벗 테이블 만들기 볼 수 있습니다

"updateCells":{
   "rows":{
      "values":[
         {
            "pivotTable":{
               "dataSourceId":"DATA_SOURCE_ID",
               "rows":{
                  "dataSourceColumnReference":{
                     "name":"corpus"
                  },
                  "sortOrder":"ASCENDING"
               },
               "values":{
                  "summarizeFunction":"SUM",
                  "dataSourceColumnReference":{
                     "name":"word_count"
                  }
               }
            }
         }
      ]
   },
   "fields":"pivotTable"
    }

DATA_SOURCE_ID를 데이터 소스를 식별합니다.

BigQuery 데이터를 가져오면 데이터 소스 피벗 테이블이 다음과 같이 채워집니다. 게재 횟수:

셰익스피어 공개 데이터를 보여주는 데이터 소스 피벗 테이블
데이터 세트로 그룹화됩니다.

데이터 소스 차트 추가

다음 코드 샘플은 spreadsheets.batchUpdate 메서드를 사용하는 방법을 보여줍니다. 및 AddChartRequest chartType가 COLUMN인 데이터 소스 차트를 만들어 총계를 표시합니다. 단어 수를 계산합니다.

"addChart":{
   "chart":{
      "spec":{
         "title":"Corpus by word count",
         "basicChart":{
            "chartType":"COLUMN",
            "domains":[
               {
                  "domain":{
                     "columnReference":{
                        "name":"corpus"
                     }
                  }
               }
            ],
            "series":[
               {
                  "series":{
                     "columnReference":{
                        "name":"word_count"
                     },
                     "aggregateType":"SUM"
                  }
               }
            ]
         }
      },
      "dataSourceChartProperties":{
         "dataSourceId":"DATA_SOURCE_ID"
      }
   }
}

DATA_SOURCE_ID를 데이터 소스를 식별합니다.

BigQuery 데이터를 가져오면 데이터 소스 차트가 다음과 같이 렌더링됩니다.

셰익스피어 공개 데이터를 보여주는 데이터 소스 차트
데이터 세트로 그룹화됩니다.

데이터 소스 수식 추가

다음 코드 샘플은 spreadsheets.batchUpdate 메서드를 사용하는 방법을 보여줍니다. 및 UpdateCellsRequest를 사용하여 평균 단어 수.

"updateCells":{
   "rows":[
      {
         "values":[
            {
               "userEnteredValue":{
                  "formulaValue":"=AVERAGE(shakespeare!word_count)"
               }
            }
         ]
      }
   ],
   "fields":"userEnteredValue"
}

BigQuery 데이터를 가져오면 데이터 소스 수식이 다음과 같이 채워집니다.

셰익스피어 공개 데이터를 보여주는 데이터 소스 수식
데이터 세트로 그룹화됩니다.

데이터 소스 객체 새로고침

데이터 소스 객체를 새로고침하여 BigQuery에서 최신 데이터를 가져올 수 있습니다. 현재 데이터 소스 사양 및 객체 구성을 기준으로 합니다. 이때 spreadsheets.batchUpdate 드림 메서드를 호출하여 RefreshDataSourceRequest 그런 다음 DataSourceObjectReferences 드림 객체를 지정합니다.

단일 내에서 데이터 소스 객체를 만들고 새로고침하는 작업이 모두 가능합니다. batchUpdate 요청

데이터 실행 상태

데이터 소스를 만들거나 데이터 소스 객체를 새로고침하면 배경이 BigQuery에서 데이터를 가져오고 응답을 반환하기 위해 실행이 생성됩니다. 이 DataExecutionStatus 실행이 성공적으로 시작되면 DataExecutionState 드림 일반적으로 RUNNING 상태입니다.

프로세스는 비동기적이므로 애플리케이션은 폴링을 구현해야 합니다. 모델을 사용하여 데이터 소스 객체의 상태를 주기적으로 가져옵니다. 사용 spreadsheets.get 메서드 상태가 SUCCEEDED 또는 FAILED 상태를 반환할 때까지 실행 대부분의 경우 빠르게 완료되지만 데이터의 복잡성에 따라 달라집니다. 있습니다. 일반적으로 실행 시간은 10분을 초과하지 않습니다.