Cloud Computing & MSA

[GCP] Recommendation 에서 export 한 big query data 에서 sql 쿼리 방법.

혀뇽뇽이·2022년 9월 27일·조회 1,050

 GCP Recommendation 에서 Big query 로 export 할 수 있다.

 export 한 데이터는 다음과 같이 sql로 쿼리하여 recommendation_detail의 json 값을 가져올 수도 있다.

 아래는 change_machine_type인 subtype 기준으로 데이터를 뽑는 것이다.

 다음의 빅쿼리 가이드북을 참고하였다.

https://zzsza.github.io/bigquery/

SPLIT -> resource 를 불러와서 '/' 문자로 나눈 Array 형태.

OFFSET(4) -> Array의 5번째 값. (0부터 시작)

JSON_QUERY(json값이 있는 칼럼, $(json안에서 불러올 값의 위치. '.' 로 하위 위치 표시))

AS -> 결과 출력에서 표시할 칼럼이름

AND DATE(_PARTITIONTIME) = "2022-09-25" → 09월 25일에 추출된 데이터 가져오기

SELECT
  SPLIT(JSON_QUERY(recommendation_details, "$.overview.resource"),'/')[OFFSET(4)] AS PROJECT,
  JSON_QUERY(recommendation_details, "$.overview.location"AS LOCATION,
  JSON_QUERY(recommendation_details, "$.overview.resourceName"AS INSTANCE_NAME,
  JSON_QUERY(recommendation_details, "$.overview.currentMachineType.name"AS BEFORE_TYPE,
  JSON_QUERY(recommendation_details, "$.overview.currentMachineType.guestCpus"AS BEFORE_CPU,
  JSON_QUERY(recommendation_details, "$.overview.currentMachineType.memoryMb"AS BEFORE_MEMORY,
  JSON_QUERY(recommendation_details, "$.overview.recommendedMachineType.name"AS AFTER_TYPE,
  JSON_QUERY(recommendation_details, "$.overview.recommendedMachineType.guestCpus"AS AFTER_CPU,
  JSON_QUERY(recommendation_details, "$.overview.recommendedMachineType.memoryMb"AS AFTER_MEMORY,
  primary_impact.cost_projection.cost.currency_code AS COST_CODE,
  primary_impact.cost_projection.cost.units AS COST_UNIT,
  primary_impact.cost_projection.cost.nanos AS COST_NANO,
  primary_impact.cost_projection.duration.seconds AS COST_DURATIONs
FROM `{프로젝트}.{DATASET}.{TABLE}`
WHERE recommender_subtype = "CHANGE_MACHINE_TYPE"
AND DATE(_PARTITIONTIME) = "2022-09-25"

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.