2016-07-26 3 views
1

BigQuery에서 테이블의 개별 행에 만료 시간을 설정할 수 있습니까?BigQuery 행 수준 만료

전 테이블이 만료되기를 원하지 않지만 행에 만료일을 설정할 수 있기를 원합니다. 예를 들어 만료 날짜가 31 일이면 31 일 이상 전에 삽입 된 행을 테이블에서 제거하고 싶습니다.

답변

1

테이블이 partitioned table 인 경우 timePartitioning.expirationMs 필드를 사용하여 테이블 내의 파티션에 만료 시간을 설정할 수 있습니다. 예를 들어, 31 일 후에 파티션을 자동으로 만료시킬 수 있습니다.

+0

파티션의 만료 시간을 동적으로 업데이트 할 수 있습니까? API의 패치 호출을 사용하여 timePartitioning.expirationMs 필드를 변경하면 만료 시간보다 긴 모든 파티션이 제거됩니까? 31 일 이전에 존재했던 테이블의 timePartitioning.expirationMs를 업데이트 한 경우 31 일보다 오래된 파티션이 제거됩니까? 이미 생성 된 파티션은 원래 생성 된 후 31 일 만료됩니까? –

+0

각 파티션의 생성 시간은 메타 테이블 ('SELECT * FROM [yourtable $ __ PARTITIONS_SUMMARY __]')에 저장되어 있으므로 설명 된대로 만료가 처리 될 것으로 예상됩니다. 그러나 그것은 추측 일뿐입니다. 나는 그것을 시험 할 기회가 없었습니다. 희망에 따라 Danny가 업데이트 해 드리겠습니다. –

+1

예에서 이전 데이터가 포함 된 파티션은 데이터 생성 후 31 일이 지나면 만료됩니다 (파티션의 날짜가 아니지만 데이터가 추가 된 시간입니다). 분할). –

1

행 수준에 만료 기한이 없습니다 (적어도 현재).
매우 비슷한 결과를 얻기 위해 할 수있는 일은 상대적으로 최근에 도입 된 것입니다. Partitioned Tables
각 파티션에는 고유 만료가있을 수 있습니다. 따라서 특정 날짜에 속한 모든 행이 만료되도록 테이블을 설정할 수 있습니다 필요할 때