이전 SQL의 테이블 데코레이터

이 문서에서는 이전 SQL 쿼리 구문에서 테이블 데코레이터를 사용하는 방법에 대해 자세히 설명합니다. BigQuery의 기본 쿼리 구문은 표준 SQL입니다. 현재 표준 SQL에서는 테이블 데코레이터를 지원하지 않지만 _TABLE_SUFFIX 유사 열에서 필터를 사용하면 표준 SQL에서 테이블 데코레이터의 시맨틱스를 확보할 수 있습니다. 자세한 내용은 표준 SQL 이전 가이드의 테이블 데코레이터 및 와일드 카드 기능을 참조하세요.

일반적으로 BigQuery는 쿼리를 실행할 때 열 전체를 검색합니다. 이전 SQL에서 테이블 데코레이터를 사용하면 데이터의 하위 집합에 대해 더욱 비용 효율적인 쿼리를 실행할 수 있습니다. 테이블 데코레이터는 테이블 복사, 테이블 내보내기, tabledata.list를 이용한 데이터 나열 작업에서처럼 테이블을 읽을 때는 언제든지 사용할 수 있습니다.

테이블 데코레이터는 <time> 값의 상대값과 절대값을 사용합니다. 상대값은 음수로, 절대값은 양수로 표시됩니다. 예를 들어 -3600000은 현재 시간 기준 1시간 전을 밀리초 단위로 표시한 것이며, 3600000은 1970년 1월 1일 이후 1시간을 밀리초 단위로 표시한 것입니다.

스냅샷 데코레이터

구문

@<time>
  • <time> 시점의 테이블 스냅샷을 기준 시간 이후의 경과 시간(밀리초)으로 참조합니다.
  • <time>은 지난 7일 이내여야 하며 테이블의 생성 시간과 같거나 이후여야 합니다.
  • @0은 지난 7일 또는 테이블이 생성된 후 7일이 지나지 않은 경우 테이블 생성 시간 중에서 테이블의 가장 오래된 사용 가능 스냅샷을 참조하는 특수한 사례입니다.

테이블 삭제 후 2일 이내에 스냅샷 데코레이터를 사용하여 테이블 삭제를 취소할 수 있습니다.

1시간 전의 테이블 스냅샷을 얻는 방법은 다음과 같습니다.

상대값 예

#legacySQL
SELECT COUNT(*) FROM [PROJECT_ID:DATASET.TABLE@-3600000]

절대값 예

  1. 1시간 전의 <time>을 가져옵니다.

    #legacySQL
    SELECT INTEGER(DATE_ADD(USEC_TO_TIMESTAMP(NOW()), -1, 'HOUR')/1000)
    
  2. 다음 쿼리에서 <time>을 교체합니다.

    #legacySQL
    SELECT COUNT(*) FROM [PROJECT_ID:DATASET.TABLE@time]
    

범위 데코레이터

구문

@<time1>-<time2>
  • <time1><time2> 사이에 추가된 테이블 데이터를 기준 시간 이후의 경과 시간(밀리초)으로 참조합니다.
  • <time1><time2>는 지난 7일 이내여야 합니다.
  • <time2>는 선택사항이며 기본값은 'now'입니다.

상대값 예

1시간 전과 30분 전 사이에 추가된 테이블 데이터를 가져오는 방법:

#legacySQL
SELECT COUNT(*) FROM [PROJECT_ID:DATASET.TABLE@-3600000--1800000]

지난 10분 동안의 데이터를 얻는 가져오는 방법:

#legacySQL
SELECT COUNT(*) FROM [PROJECT_ID:DATASET.TABLE@-600000-]

절대값 예

1시간 전과 30분 전 사이에 추가된 테이블 데이터를 가져오는 방법:

  1. 1시간 전의 <time1>을 가져옵니다.

    #legacySQL
    SELECT INTEGER(DATE_ADD(USEC_TO_TIMESTAMP(NOW()), -1, 'HOUR')/1000)
    
  2. 30분 전의 <time2>를 가져옵니다.

    #legacySQL
    SELECT INTEGER(DATE_ADD(USEC_TO_TIMESTAMP(NOW()), -30, 'MINUTE')/1000)
    
  3. 다음 쿼리에서 <time1><time2>를 교체합니다.

    #legacySQL
    SELECT COUNT(*) FROM [PROJECT_ID:DATASET.TABLE@time1-time2]
    
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.