BigQuery 기능 업데이트-changes(테이블의 변경된 행 반환)

데이터를 처리하다보면 테이블에 데이터가 어떻게 추가되고 삭제되었나 알고 싶곤 합니다. 이런 경우에 중간 테이블을 생성해서 관리하곤 하는데, 이번에 CHANGES가 업데이트가 되어 이 문제를 해결할 수 있겠네요


  • FROM 절에 넣고 확인할 수 있어요

  • 문법

    CHANGES(
      TABLE table,
      start_timestamp DEFAULT NULL,
      end_timestamp)
  • Porduct에 데이터를 insert, delete, update

  • 예시 쿼리

    SELECT
      product,
      inventory,
      _CHANGE_TYPE AS change_type,
      _CHANGE_TIMESTAMP AS change_time
    FROM
      CHANGES(TABLE mydataset.Produce, NULL, TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 601 SECOND))
    ORDER BY change_time, product;


  • 결과

    +---------+-----------+-------------+---------------------+
    | product | inventory | change_type |     change_time     |
    +---------+-----------+-------------+---------------------+
    | bananas |        20 | INSERT      | 2024-01-09 17:13:58 |
    | carrots |        30 | INSERT      | 2024-01-09 17:13:58 |
    | bananas |        20 | DELETE      | 2024-01-09 17:14:30 |
    | carrots |        30 | DELETE      | 2024-01-09 17:15:24 |
    | carrots |        20 | UPDATE      | 2024-01-09 17:15:24 |
    +---------+-----------+-------------+---------------------+


https://cloud.google.com/bigquery/docs/reference/standard-sql/table-functions-built-in#changes

Table functions (built in) | BigQuery | Google Cloud

Google Cloud Blog

Table functions (built in) | BigQuery | Google Cloud

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 7월 29일 오전 11:58

댓글 0