ãã®è¨äºã¯Google Cloud Platform ãã®ï¼ Advent Calendar 2018 - 18æ¥ç®ã®è¨äºã§ãã
以åãããããã³ã¡ãããã®ã§ãããè¨ãã£æ¾ãã ã¨ããµãã®ã§ãå ·ä½çãªããæ¹ãæ¸ãã¾ãã
"ã¢ã«ã¦ã³ããã¨/æ¥ä»ãã¨ã®BigQueryã³ã¹ããå¯è¦åã§ããããã·ã¥ãã¼ã" ãªã Stackdriver + BQ + Datastudio ã使ãã¨ä½æ¥æé10åã»ã»ã¼ç¡æã§ä½ããã®ã§ããã¡ã¯ãã®ããæ¹ãæ¡ç¨ãã¦ãã¾ããã⦠https://t.co/9yoni22iw7
— ãããã (@yuzutas0) August 17, 2018
ããã
ã¯ããã«
ãã®è¨äºã®ã´ã¼ã«
BigQueryã«ããã¦ãã©ã®ã¦ã¼ã¶ã¼ããã©ã®ãããã¯ã¨ãªãå©ãã¦ããããã©ã®ãããã³ã¹ãã使ã£ã¦ããã®ãããå¯è¦åãã¾ãã
- ï¼æ ã·ã¹é¨éã«æ¨©éãç¸ããã¦ããªããã°ï¼10åã§åºæ¥ã¾ãã
- ï¼BQã®ã¹ãã¬ã¼ã¸ãã¯ã¨ãªæãå¤å°æããã¾ããï¼ã»ã¼ç¡æã§ãã
解決ããã課é¡
GCPã®ã³ã³ã½ã¼ã«ç»é¢ã§ã¯ãã¼ã¿ã«ã®ã³ã¹ãããé²è¦§ã§ãã¾ããã ããªã«ãã¦ã³åæãã§ããªãã®ã§ãå ·ä½çãªã¢ã¯ã·ã§ã³ã«ç¹ããã¾ããã
課é¡ã®èæ¯
ã³ã¹ãã¯å¤ããã¦ããã¡ãå°ãªããã¦ããã¡ã ã¨æã£ã¦ãã¾ãã
ã³ã¹ããå¤ãããå ´åã ã¯ã¤ã«ãã¯ã¨ãªãæãã¦ããã¦ã¼ã¶ã¼ã«ãããããSQLãæ¸ãã¨è²¡å¸ã«åªããã§ãããã¨æ¡å ãã¾ãã åããããªéè¨å¦çãç¹°ãè¿ããã¦ããå ´åãéè¨æ¸ã¿ã®ä¸éãã¼ãã«ãè¨ãããªã©ã®ç¯ç´æ½çãæã¡ã¾ãã
ã³ã¹ããå°ãªãããå ´åã ãã¼ã¿ãæ´»ç¨ããã¦ããªãã¨ãããã¨ã«ãªãã¾ãã å¤ãã®é¨ç½²ã«ä½¿ããããã¨ããã¼ã¿åºç¤ã®æ義ã ã¨æãã¾ãã ãã®ããããã¼ã¿ã®æ°ä¸»åããä¿é²ããæ½çãæã¤å¿ è¦ãããã¾ãã
詳ããã¯BQ Sushiã®ç»å£è³æããããµãã®ç»å£è³æãåç §ãã ããã
å®è¡æ¹é
- BigQueryã®ã¯ã¨ãªå®è¡è¨é²ã使ã
- Stackdriver Loggingã§ä¸è¨ã®ãã¼ã¿ãåéãã
- åéãããã¼ã¿ãBigQueryã«ä¿åãã
- BigQueryã®ãã¼ã¿ãDataStudioï¼ååãDataPortalã«å¤ãã£ããããï¼ã§è¡¨ç¤ºãã
å®æã¤ã¡ã¼ã¸
ä½æ¥æé
1: BQã¯ã¨ãªå®è¡ãã°ãæµã
GCPã³ã³ã½ã¼ã«ãããStackdriver Loggingã>ãLogsããéãã¾ãã
resource.type="bigquery_resource"
ä¸è¨ã®æ¡ä»¶ãè¨å ¥ãã¦ãSubmit Filterããæ¼ãã¨ããã°ãçµãè¾¼ã¾ãã¾ãã ãã®ç¶æ ã§ãCREATE EXPORTããæ¼ãã¾ãã ã¨ã¯ã¹ãã¼ãã®è¨å®ãèãããã®ã§ã以ä¸ã®ããã«å ¥åãã¾ãããã
- Sink Name: export_audit_logs
- ã好ããªååã§OK
- Sink Service: BigQuery
- Sink Destination:
source__cloudaudit__bigquery
- ãããåºåå ãã¼ã¿ã»ããåã«ãªã
- ã好ããªååã§OK
å ¨ã¦åããããCreate Sinkããæ¼ãã¾ãã
ããã§BigQueryã®ã¯ã¨ãªå®è¡è¨é²ï¼ãã°ï¼ãBigQueryã«æµããããã«ãªãã¾ãã ãSink Destinationãã§å®ç¾©ãããã¼ã¿ã»ããã®ä¸ã«ã2ã¤ã®ãã¼ãã«ãcloudaudit_googleapis_com_activity_YYYYMMDDããcloudaudit_googleapis_com_data_access_YYYYMMDDããçæããã¾ãã
ãã®ãã¼ã¿ããã¨ã«ã³ã¹ãå¯è¦åããã·ã¥ãã¼ããä½ãã¾ãã
2: DataStudioã§ããã·ã¥ãã¼ãã«è¡¨ç¤ºãã
Google DataStudio ã®æ°è¦ã¬ãã¼ãä½æç»é¢ãéãã¾ãã
ãCREATE NEW DATA SOURCEãï¼ãBigQueryãï¼ãSELECTãï¼ãCUSTOM QUERYãï¼ã対象ããã¸ã§ã¯ãåããæ¼ä¸ãã¦ãSQLã³ã³ã½ã¼ã«ãéãã¾ãã ãããUse Legacy SQLãã«ãã§ãã¯ãå ¥ã£ã¦ãããå¤ãã¾ãããã
ã³ã³ã½ã¼ã«ã«ã¯ä»¥ä¸ã®SQLãè²¼ãä»ãã¾ãã æåã®FROMç¯ã¯ãSink Destinationãã§å®ç¾©ãããã¼ã¿ã»ããåãå ¥ãã¦ãã ããã
WITH log AS ( SELECT protopayload_auditlog.authenticationInfo.principalEmail AS user, SUM(protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.totalBilledBytes) AS total_bytes, COUNT(protopayload_auditlog.authenticationInfo.principalEmail) AS query_count, PARSE_DATE(â%Y%m%dâ, _table_suffix) AS day FROM `source__cloudaudit__bigquery.cloudaudit_googleapis_com_data_access_*` WHERE TRUE AND protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.eventName = âquery_job_completedâ GROUP BY protopayload_auditlog.authenticationInfo.principalEmail, day ) SELECT L.user AS User, ROUND((L.total_bytes*5)/1000000000000, 2) AS Cost, L.query_count AS Query_Count, L.day AS Day FROM log L ORDER BY 2 DESC
ã¡ãªã¿ã«ãWHEREå¥ã TRUE
ã§å§ãã¦ããã®ã¯ãæ¡ä»¶ãå¤æ´ããã¨ãã«æåã®1è¡ã§ AND
ããã¡ãã¡è¿½å ã»åé¤ããã«æ¸ãããã§ãã
SQLãæ¸ããããCONNECTããæ¼ãã¦æ¥ç¶ãã¾ãã
ããããå ã¯ãçµµããã¿ã¤ã ã«ãªãã¾ãã ä¸è¨ã®ãããªããã·ã¥ãã¼ããè¨å®ãã¾ãããã
DataStudioã®ä»æ§ã¯é »ç¹ã«å¤ããã®ã§ããã£ããã£ã§ã®è©³ç´°è§£èª¬ã¯çç¥ãã¾ãã 以ä¸ã®4ã¤ã¯ãã¿ã³ãæ¼ãã°ããã«ã§ããã¯ãã§ãã ããåãããªãç¹ãããã°ãæ°è»½ã«@yuzutas0ã«ã¡ã³ã·ã§ã³ãã ããã
- ãããã¹ããã§ãã¿ã¤ãã«ã表示ããã
- ãæéãã§ãå½æï¼ããã©ã«ãï¼ã表示ããã
- ãæ°å¤ãã§ãåè¨ã³ã¹ãã表示ããã
- SQLçµæã®ãCostãããSUMããããã®ãåè¨ã³ã¹ãã§ã
- 詳ããè¨å®ã¯å¾è¿°ãã¾ã
- ãã°ã©ããã§ãã¦ã¼ã¶ã¼ãã¨ã®ã³ã¹ããæãç·ã§è¡¨ç¤ºããã
- ãã¼ã¿ã½ã¼ã¹: BigQuery
- æéã®ãã£ã¡ã³ã·ã§ã³: Day
- ãã£ã¡ã³ã·ã§ã³ > æéãã£ã¡ã³ã·ã§ã³: Day
- ãã£ã¡ã³ã·ã§ã³ > å 訳ãã£ã¡ã³ã·ã§ã³: User
- ææ¨: SUM - Cost
- å 訳ãã£ã¡ã³ã·ã§ã³ã®ä¸¦ã¹æ¿ã: SUM - Cost
ããã¹ãã ã¨åããã«ããã®ã§ã以ä¸ã®è¨å®ãã£ããã£ãåèã«ãã¦ãã ããã
ããã§å®æã§ãã å¿ è¦ãªæ¨©éãä»ä¸ããã¦ãã¦ããªããã¤ãã¼ã«ã«æ £ãã¦ããã°ã10åã§å®æãã¾ãã
å¿ç¨ç·¨
1: å ¨ä½ã³ã¹ããå¯è¦åãã
ã¦ã¼ã¶ã¼ãã¨ã®ã³ã¹ããå¯è¦åãã¾ããããããã ãã§ã¯æ¬å½ã«æ°åããã£ã¦ããã®ãåããã¾ããã å®è£ ã®ãã¨ã«ã¯ãã¹ãããã¦ããã¼ã¿ã®å質ãæ ä¿ãããã¨ã大äºã§ãã ããã§ãå ¨ä½ã³ã¹ããGCPã³ã³ã½ã¼ã«ã®æ°åã¨åè´ããããè¦ã¦ã¿ã¾ãããã
SQLçµæã®ãCostãããSUMããããã®ãåè¨ã³ã¹ãã¨ãªãã¾ãã 以ä¸ã®ãããªè¨å®ãããã°é©åãªæ°åãåºãã¯ãã§ãã
- ãã¼ã¿ã½ã¼ã¹: BigQuery
- æéã®ãã£ã¡ã³ã·ã§ã³: Day
- ãã£ã¡ã³ã·ã§ã³ > æéãã£ã¡ã³ã·ã§ã³: Day
- ãã£ã¡ã³ã·ã§ã³ > å 訳ãã£ã¡ã³ã·ã§ã³: ãªã
- ææ¨: SUM - Query_Count
- å 訳ãã£ã¡ã³ã·ã§ã³ã®ä¸¦ã¹æ¿ã: ãªã
ãå 訳ãã£ã¡ã³ã·ã§ã³ããããªããã«ãããã¨ããã¤ã³ãã§ãã ãUserããæå®ããã¨ã¦ã¼ã¶ã¼å¥ã³ã¹ãã«ãªãã¾ãã
2: ã³ã¹ãã§ã¯ãªãå®è¡åæ°ãè¨æ¸¬ãã
BigQueryã®è«æ±æéã¯ãã¼ã¿éã«ä¾åãã¾ãã ãã®ãããå®éã«ãã¼ã¿ãæ´»ç¨ããã¦ãããããã¢ãã¿ãªã³ã°ããå ´åãå¿ ãããã³ã¹ãã ããè¦ãã°ããããã§ã¯ããã¾ããã ããã§ãã³ã¹ãã§ã¯ãªãSQLã®å®è¡åæ°ãããã·ã¥ãã¼ãã«åºãã¦ã¿ã¾ãããã
- ãã¼ã¿ã½ã¼ã¹: BigQuery
- æéã®ãã£ã¡ã³ã·ã§ã³: Day
- ãã£ã¡ã³ã·ã§ã³ > æéãã£ã¡ã³ã·ã§ã³: Day
- ãã£ã¡ã³ã·ã§ã³ > å 訳ãã£ã¡ã³ã·ã§ã³: User
- ææ¨: SUM - Query_Count
- å 訳ãã£ã¡ã³ã·ã§ã³ã®ä¸¦ã¹æ¿ã: SUM - Query_Count
ãææ¨ãã§ãSUM - Query_Countããæå®ãããã¨ããã¤ã³ãã§ãã ããã§ä»£ããã«ãSUM - Costããæå®ããã¨ãåè¿°ããã³ã¹ãã®è¨æ¸¬ã«ãªãã¾ãã
3: ãã¼ã åä½ã®ã³ã¹ããè¨æ¸¬ãã
ã¦ã¼ã¶ã¼å¥ã§ã¯ãªããã¼ã å¥ã§ç®¡çããæ¹æ³ã¨ãªãã¾ãã ã©ã®ãã¼ã ããã¼ã¿åºç¤ãç©æ¥µçã«ä½¿ã£ã¦ããã®ããã©ã®ãã¼ã ã¯ä½¿ã£ã¦ããªãã®ãã ãã¼ã åä½ã§åºåã£ã¦ããã¼ã¿ã®æ°ä¸»åãã®ç¶æ³ãåæãããã¨ãã§ããããã«ãªãã¾ãã
åæã¨ãã¦ãBigQueryã«ãã¦ã¼ã¶ã¼ï¼ã¡ã¼ã«ã¢ãã¬ã¹ï¼ãã¨ãæå±ãã¼ã ããç´ã¥ãããã¼ãã«ãç¨æããå¿ è¦ãããã¾ãã ãã¼ã¿ãç¨æããæ¹æ³ã¯è²ã ããã¾ããããªã¹ã¹ã¡ãªã®ã¯ãGoogle Spreadsheetãã§ãã¼ã ã»ã¡ã³ãã¼ã®ç®¡çç°¿ãä½ã£ã¦BQã«å®æåæ ããããæ¹ã§ãã ä»ã®æ¹æ³ã§ãåé¡ããã¾ããã
ãã¦ããã¼ã¿ãç¨æã§ããããSQLã以ä¸ã«ããã«æ¸ãæãã¾ãããã æå¾ã®æ°è¡ã§ãINNER JOINãããã¦ããç®æããã®çµæããSELECTããã¦ããç®æãå·®åã¨ãªãã¾ãã ã¦ã¼ã¶ã¼æ å ±ãçµåãã¼ã«ãã¦ãã¯ã¨ãªå®è¡å±¥æ´ã¨ãã¼ã åãç´ã¥ãã¦ãã¾ãã
WITH log AS ( SELECT protopayload_auditlog.authenticationInfo.principalEmail AS user, SUM(protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.totalBilledBytes) AS total_bytes, COUNT(protopayload_auditlog.authenticationInfo.principalEmail) AS query_count, PARSE_DATE(â%Y%m%dâ, _table_suffix) AS day FROM `source__cloudaudit__bigquery.cloudaudit_googleapis_com_data_access_*` WHERE TRUE AND protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.eventName = âquery_job_completedâ GROUP BY protopayload_auditlog.authenticationInfo.principalEmail, day ) SELECT L.user User, M.team AS Team, ROUND((L.total_bytes*5)/1000000000000, 2) AS Cost, L.query_count AS Query_Count, L.day AS Day FROM log L INNER JOIN `source__spreadsheet.member` M ON L.user = M.mailAddress ORDER BY 2 DESC
ãã®ãã¼ã¿ããã¨ã«ããã¼ã ãã¨ã®ã¯ã¨ãªæéã表示ããã«ã¯ã以ä¸ã®ãããªè¨å®ããã¾ãã
- ãã¼ã¿ã½ã¼ã¹: BigQuery
- æéã®ãã£ã¡ã³ã·ã§ã³: Day
- ãã£ã¡ã³ã·ã§ã³ > æéãã£ã¡ã³ã·ã§ã³: Day
- ãã£ã¡ã³ã·ã§ã³ > å 訳ãã£ã¡ã³ã·ã§ã³: Team
- ææ¨: SUM - Cost
- å 訳ãã£ã¡ã³ã·ã§ã³ã®ä¸¦ã¹æ¿ã: SUM - Cost
ãå 訳ãã£ã¡ã³ã·ã§ã³ãã§ãTeamããæå®ãããã¨ããã¤ã³ãã§ãã ããã§ä»£ããã«ãUserããæå®ããã¨ãåè¿°ããã¦ã¼ã¶ã¼ãã¨ã®ã³ã¹ãã¢ãã¿ãªã³ã°ã«ãªãã¾ãã
4: BigQueryã«ãã¹ããã¼ã¿ãå ¥ãã
BigQueryã使ãå§ããã°ããã»GCPããã¸ã§ã¯ããä½ã£ãã°ããã§ãã¾ã ã¯ã¨ãªãå©ãã¦ããªããï¼ã¨ããç¶æ ããããã¾ãããã ãããªãã¨ããã·ã¥ãã¼ãã¯0åã®ã¾ã¾ã§ãæ¬å½ã«åãã¦ããã®ã確èªãããã¨ã¯ã§ãã¾ããã
ä½åãã¯ã¨ãªãå©ãããã«ããé©å½ãªãã¹ããã¼ã¿ãæå ¥ãã¦ã¿ã¾ãããã 以ä¸ã®SQLãBigQuery UIã§å®è¡ãã¦ãã ããã
WITH item AS ( SELECT CAST(RAND() * 100000000 AS INT64) AS purchaseId, -- è³¼å ¥IDãã©ã³ãã ã«çæããï¼ã¦ãã¼ã¯ã®ä¿è¨¼ã¯ãªããéè¤ã®ç¢ºçã¯ä½ãï¼ CAST(RAND() * 5 AS INT64) AS itemId, -- è³¼å ¥ããååIDï¼0ã5ï¼ãã©ã³ãã ã«çæãã CAST(RAND() * 120 AS INT64) AS advertiseId, -- æµå ¥å ã®åºåIDï¼0ã120ï¼ãã©ã³ãã ã«çæãã CAST((RAND() * 40) + 20 AS INT64) AS age, -- ã¦ã¼ã¶ã¼ã®å¹´é½¢ï¼20æ³ã60æ³ï¼ãã©ã³ãã ã«çæãã CAST(RAND() * 1 AS INT64) AS gender, -- ã¦ã¼ã¶ã¼ã®æ§å¥ï¼0ã1ï¼ãã©ã³ãã ã«çæãã DATE_SUB(CURRENT_DATE(), INTERVAL CAST((RAND() * 50) AS INT64) DAY) AS purchasedAt, -- : è³¼å ¥æ¥ä»ï¼ç¾å¨æ¥ä»ãã50æ¥åã¾ã§ï¼ãã©ã³ãã ã«çæãã CASE WHEN 10 * RAND() < 8 THEN 0 ELSE CAST(RAND() * 1800 AS INT64) END AS discountAmount -- å²å¼éé¡ï¼80%ã®ç¢ºçã§0åã20%ã®ç¢ºçã§0ã1800åï¼ãã©ã³ãã ã«çæãã FROM UNNEST(GENERATE_ARRAY(1, 100000)) -- 100,000ã¬ã³ã¼ããçæãã ) SELECT item.purchaseId AS purchaseId, item.itemId AS itemId, (item.itemId + 1) * 2000 AS price, -- ååIdãå ã«ååä¾¡æ ¼ã決ãã item.discountAmount AS discountAmount, ((item.itemId + 1) * 2000) - item.discountAmount AS paymentAmount, -- ååä¾¡æ ¼ããå²å¼éé¡ãå·®ãå¼ããçµæãæ¯æãéé¡ item.advertiseId AS advertiseId, item.age AS age, item.gender AS gender, item.purchasedAt AS purchasedAt FROM item
ãã®SQLã«ãã£ã¦ä»¥ä¸ã®ãããªãã¼ã¿ãã©ã³ãã ã«10ä¸ã¬ã³ã¼ãçæãã¾ãã
- å人æ å ±ãã¹ãã³ã°æ¸ã¿ã®ã¦ã¼ã¶ã¼æ å ±ï¼å¹´é½¢ã»æ§å¥ï¼
- ã¢ã¯ã·ã§ã³æ å ±ï¼åºåã»è³¼è²·ï¼
- 購買æ å ±ï¼ååã»éé¡ï¼
SQLã®å®è¡çµæãé©å½ãªãã¼ãã«ã«ä¿åãã¾ãããã ç§ã¯æ £ç¿çã« workspace ããã¼ã¿ã»ããã® test__records ã«åºåãããã¨ãå¤ãã§ãã
ãã¨ã¯é©å½ã«ãã®ãã¼ã¿ãåæããããã®SQLãå©ãã¦ã¿ã¦ãã ããã ã©ã®ååãä¸çªäººæ°ãªã®ããã©ã®ãããªã¦ã¼ã¶ã¼ãå¤ãã®ããã©ã®åºåçµç±ã§ã®å£²ä¸ãé«ãã®ãã ä½åãã¯ã¨ãªãå®è¡ããã¨ã³ã¹ãããã·ã¥ãã¼ãã«å¤åãçããã¯ãã§ãã
â»ä¸è¨ã©ã³ãã çæã¯ã¨ãªã«ã¤ãã¦è£è¶³ãã¾ãã
ä¾ã¨ã㦠CAST(RAND() * 5 AS INT64) AS itemId
ã®1è¡ãåãä¸ãã¾ãã
- ã¾ã
RAND() * 5
ã¯0.00 ã 4.99...
ã¨ãªã FLOAT64 å¤ãè¿ãã¾ãã - ããã¦
CAST( [FLOAT64 å¤] AS INT64)
ã¯ãæãè¿ã INT64 å¤ã§ãã0 ã 5
ãè¿ãã¾ãã - çµæã¨ãã¦
-- è³¼å ¥ããååIDï¼0ã5ï¼ãã©ã³ãã ã«çæãã
ãã¨ã«ãªãããã§ãã
5: æ¯æSlackã«éç¥ãã
豪è¯ãªããã·ã¥ãã¼ããä½ã£ã¦ããããã«è¦ãªããªãã®ã人éã¨ãããã®ã§ãã æ¢åã®æ¥åããã¼ï¼ä¾:æ¯æSlackã®æªèªãã£ã³ãã«ããã£ã¨çºããï¼ã«ä¸æãä¹ãããã¨ãã§ããã¨ãå®éç¨ã¨ãã¦åãã¯ãã§ãã ç»åãã¡ã¤ã«ã§Slackã«èªåé ä¿¡ã§ããã®ãçæ³ã§ããã
ãããããã¾ã®DataStudioã®ä»æ§ã§ã¯å®ç¾ã§ãã¾ããã Puppeteerã§ã¹ã¯ãªã¼ã³ã·ã§ãããåã£ã¦Slackã«æãããã¨ãã£ãæ段ãåããã¨ã«ãªãã¾ãã ã10åã§ãæ軽ã«ããããï¼ãã¨ããã³ã³ã»ããããã¯å°ãé¸è±ãããã§ãã
ããã§ãããããªã®ããç´ç²ãªSlack botã®å®æãã¹ãã§ãã
ä»åä½ã£ãããã·ã¥ãã¼ãã®URLãæ¯æåãæµãã ãã
/reminder #bq_report ã³ã¹ãç¢ºèª https://xxxxxx every weekday
ã¨ãã£ãã³ãã³ããæã¤ã ããªã®ã§ã30ç§ã§åããã¾ãã
ã¾ããã¶ã£ã¡ããããã ã¨ãå©ç¨è ã¯ã»ã¨ãã©è¦ãªãã§ãã ã·ã¹ãã ãªã½ã¼ã¹ãã³ã¹ãã«èå³ãªãã§ããããã 代ããã«ããã¼ã¿åºç¤ã¨ã³ã¸ãã¢ãã·ã¹ãã 管çè ãã¨ã³ã¸ãã¢ãªã³ã°ããã¼ã¸ã£ã¼ã¨ãã£ãããéãè² è·ãè¦ã人ãã¡ã å½¼ããæã è¦ã¦ã³ã¹ãã»ãã£ãã·ãã£ã®äºå®ã確èªãã¾ãã ãã®ã¦ã¼ã¹ã±ã¼ã¹ã«ã¯ååã«å¯¾å¿ã§ããããªã¨æãã¾ãã
ãããã«
ãã®ããã«GCPã¯ã½ãªã¥ã¼ã·ã§ã³ãçµã¿åãããã ãã§è²ã å®ç¾ã§ããã®ã§è¶ 絶ããããã§ãã
å®ã¯æè¿ã¯ããã¦ãã«GCPã®æ¡ä»¶ãæ å½ãã¾ããã ã¤ã³ãã©ããã¼ã¿æ´åããã¾ãã«ãç°¡åã§é©ãã¾ããã 1é±éã§è¦ç©ãã£ã¦ããä½æ¥ã ã£ãã®ã«ããã¿ã³ããããããããä¸ç¬ã§çµãã£ã¦ãã¾ãã¾ããã ããã¾ã§ä»ã¯ã©ã¦ãããªã³ãã¬ã¨ã®ãã¤ããªããæ§æã§è¦ããã ã®ã¯ä½ã ã£ãã®ãã¨ããæãã§ãã
æ°è¦äºæ¥ã§ãã£ã¦ãããããæ°è¦äºæ¥ãªãå°æ´GCPãããããã§ãã ä»æã®ãããã¯ãéçºã ã¨ããã¼ã¿æ´»ç¨ã®éè¦æ§ãé«ã¾ã£ã¦ããã®ã§ãããããMLOpsã»DataOpsã®åãçµã¿ãããã¯éè¦ã¨ãªãã¾ãã ã¾ããã·ã¹ãã ã ãã§ãªãããã¸ãã¹ããã¼ã±ãã£ã³ã°ã¨ãã観ç¹ã§ããGoogle AdwardsãGoogle AnalyticsãFirebaseãBigQueryã¨é£æºã§ãããããé常ã«é åçã§ãã
ã¨ãããã¨ã§ãã¨ã³ã¸ãã¢ã«ã¨ã£ã¦ãããµã¤ã¨ã³ãã£ã¹ãã«ã¨ã£ã¦ãããã¸ãã¹ãããããã¼ã«ã¨ã£ã¦ãGCPã¯æé«ã ã¨æãã¾ãã ãã§ãããã§ããã