목록 모니터링

데이터 제공업체는 목록의 사용량 측정항목을 추적할 수 있습니다. 공유 데이터의 사용량 측정항목을 가져오는 방법에는 두 가지가 있습니다.

  • Analytics Hub를 사용합니다. Analytics Hub를 사용하면 일일 구독, 일일 실행된 작업, 각 조직의 구독자 수, 각 테이블의 작업 빈도가 포함된 목록의 사용량 측정항목 대시보드를 볼 수 있습니다. 공유 데이터의 사용량 측정항목은 INFORMATION_SCHEMA.SHARED_DATASET_USAGE 뷰를 쿼리하여 검색됩니다.

  • INFORMATION_SCHEMA 뷰를 사용합니다. INFORMATION_SCHEMA.SHARED_DATASET_USAGE 뷰를 직접 쿼리하여 구독자가 데이터 세트를 사용하는 방식을 추적할 수 있습니다.

Analytics Hub 사용

Analytics Hub를 사용하여 공유 데이터의 사용 측정항목을 가져오려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Analytics Hub 페이지로 이동합니다.

    Analytics Hub로 이동

  2. 사용량 측정항목을 보려는 목록이 포함된 데이터 교환 이름을 클릭합니다.

  3. 사용량 측정항목을 클릭한 후 다음을 수행합니다.

    1. 등록정보 메뉴에서 목록을 선택합니다.

    2. 기간을 설정합니다.

페이지에 다음 사용량 측정항목이 표시됩니다.

  • 총 구독: 선택한 목록의 현재 구독 수입니다. 최대 60일 동안의 총 구독 수를 볼 수 있습니다.
  • 총 구독자: 선택한 목록의 모든 구독에서 순 구독자 수입니다. 최대 60일 동안의 총 구독자 수를 볼 수 있습니다.
  • 총 실행된 작업 수: 선택한 목록의 각 테이블에서 실행된 고유한 작업 수입니다.
  • 총 스캔 바이트: 선택한 목록의 모든 테이블에서 스캔한 총 바이트 수입니다.
  • 일일 구독: 일정 기간 동안 선택한 목록의 구독 수를 추적하는 차트입니다. 최대 60일 동안의 일일 구독 수를 볼 수 있습니다.
  • 조직당 구독자: 조직 및 선택한 목록을 소비하는 구독자 수를 나열합니다.
  • 실행된 일일 작업: 이 차트에는 선택한 목록의 작업 소비가 표시됩니다.
  • 테이블 작업 빈도: 선택한 목록에서 테이블에 액세스하는 빈도입니다.

INFORMATION_SCHEMA 보기 사용

데이터 제공업체인 경우 INFORMATION_SCHEMA.SHARED_DATASET_USAGE를 쿼리하여 구독자가 데이터 세트를 사용하는 방법을 추적할 수 있습니다. 이 뷰를 쿼리하는 데 필요한 역할이 있는지 확인합니다.

기본 프로젝트가 아닌 프로젝트에 대해 쿼리를 실행하려면 다음 형식으로 프로젝트 ID를 추가합니다.

PROJECT_ID.region-REGION_NAME.INFORMATION_SCHEMA.SHARED_DATASET_USAGE

예를 들면 myproject.region-us.INFORMATION_SCHEMA.SHARED_DATASET_USAGE입니다.

다음 예시에서는 INFORMATION_SCHEMA 뷰를 쿼리하여 사용량 측정항목을 보는 방법을 설명합니다.

모든 공유 테이블에서 실행된 총 작업 수 가져오기

다음 예시에서는 프로젝트의 구독자가 실행하는 총 작업 수를 계산합니다.

SELECT
  COUNT(DISTINCT job_id) AS num_jobs
FROM
  `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE

결과는 다음과 비슷합니다.

+------------+
| num_jobs   |
+------------+
| 1000       |
+------------+

구독자가 실행하는 총 작업 수를 확인하려면 WHERE 절을 사용합니다.

  • 데이터 세트의 경우 WHERE dataset_id = "..."를 사용합니다.
  • 테이블의 경우 WHERE dataset_id = "..." AND table_id = "..."를 사용합니다.

처리된 행 수를 기반으로 가장 많이 사용된 테이블 가져오기

다음 쿼리는 구독자가 처리한 행 수를 기반으로 가장 많이 사용된 테이블을 계산합니다.

SELECT
  dataset_id,
  table_id,
  SUM(num_rows_processed) AS usage_rows
FROM
  `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
GROUP BY
  1,
  2
ORDER BY
  3 DESC
LIMIT
  1

출력은 다음과 비슷합니다.

+---------------+-------------+----------------+
| dataset_id    | table_id      | usage_rows     |
+---------------+-------------+----------------+
| mydataset     | mytable     | 15             |
+---------------+-------------+----------------+

테이블을 소비하는 상위 조직 찾기

다음 쿼리는 테이블에서 처리된 바이트 수를 기준으로 상위 구독자를 계산합니다. num_rows_processed 열을 측정항목으로 사용할 수도 있습니다.

SELECT
  subscriber_org_number,
  ANY_VALUE(subscriber_org_display_name) AS subscriber_org_display_name,
  SUM(total_bytes_processed) AS usage_bytes
FROM
  `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
GROUP BY
  1

출력은 다음과 비슷합니다.

+--------------------------+--------------------------------+----------------+
|subscriber_org_number     | subscriber_org_display_name    | usage_bytes    |
+-----------------------------------------------------------+----------------+
| 12345                    | myorganization                 | 15             |
+--------------------------+--------------------------------+----------------+

조직이 없는 구독자의 경우 subscriber_org_number 대신 job_project_number를 사용할 수 있습니다.

데이터 교환의 사용량 측정항목 가져오기

데이터 교환 및 소스 데이터 세트가 서로 다른 프로젝트에 있는 경우 다음 단계에 따라 데이터 교환의 사용량 측정항목을 확인합니다.

  1. 데이터 교환에 속하는 모든 목록을 찾습니다.
  2. 목록에 연결된 소스 데이터 세트를 검색합니다.
  3. 데이터 교환의 사용량 측정항목을 보려면 다음 쿼리를 사용합니다.
SELECT
  *
FROM
  source_project_1.`region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
WHERE
  dataset_id='source_dataset_id'
AND data_exchange_id="projects/4/locations/us/dataExchanges/x1"
UNION ALL
SELECT
  *
FROM
  source_project_2.`region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
WHERE
  dataset_id='source_dataset_id'
AND data_exchange_id="projects/4/locations/us/dataExchanges/x1"

다음 단계