Snowflake Connector for Google Analytics Raw Data 의 데이터 수집 모델

Google Analytics Raw Data용 Snowflake Connector에는 커넥터 약관 이 적용됩니다.

이 항목에서는 Snowflake Connector for Google Analytics Raw Data 에서 지원하는 데이터 수집 모델에 대한 정보를 제공합니다.

BigQuery 내보내기를 위한 Google Analytics

Google Analytics는 세 가지 유형의 BigQuery 내보내기를 지원합니다.
  • 매일: Google Analytics는 events_XXXXXX 형식의 테이블로 데이터를 내보냅니다. 테이블은 해당 날짜의 모든 이벤트가 수집되면 하루가 끝난 후 매일 한 번 생성됩니다.

  • 신선한 매일: Google Analytics는 events_fresh_XXXXXX 형식의 테이블로 데이터를 내보냅니다. 테이블은 스케줄러에 따라 생성 및 새로 고침되며, 최대 빈도는 한 시간에 한 번입니다. 이 기능은 Google Analytics 360 고객만 사용할 수 있습니다.

  • 스트림: Google Analytics는 하루 종일 지속적으로 데이터를 내보내고 events_intraday_XXXXXX 형식의 테이블에 저장합니다.

  • 사용자 - 수집된 이벤트와 관련된 사용자 데이터가 포함된 Google Analytics 내보내기. 테이블은 BigQuery 에 저장되며 users_XXXXXXpseudonymous_users_XXXXXX 형식으로 이름이 지정됩니다.

커넥터는 이 세 가지 유형의 내보내기를 지원하며 추가 구성 없이 BigQuery 에서 찾은 모든 테이블을 자동으로 다운로드합니다.

싱크대

각 속성에 대해 커넥터는 데이터베이스에서 생성된 속성별 테이블과 커넥터 구성 중에 제공된 스키마에 이벤트를 저장합니다.

각 속성에 대해 활성화된 내보내기 유형에 따라 최대 4개의 싱크 테이블이 생성될 수 있습니다. 테이블의 이름은 다음과 같습니다.

  • ANALYTICS_<propertyId>

  • ANALYTICS_INTRADAY_<propertyId>

  • USERS_<propertyId>

  • PSEUDONYMOUS_USERS_<propertyId>

일일 테이블 수집

커넥터는 테이블이 BigQuery에 존재한다는 점을 인식하면 단일 실행으로 전체 테이블을 다운로드합니다. Google에서는 테이블이 생성된 후 최대 72시간까지는 일일 테이블이 업데이트될 수 있다고 경고합니다. 데이터 일관성을 보장하기 위해 커넥터는 72시간 후에 테이블을 다시 로드합니다(다시 로드하는 정확한 시간은 커넥터 수집 일정에 따라 달라짐). 테이블 생성 72시간 후에 BigQuery에서 이루어진 업데이트는 Snowflake에 반영되지 않습니다. 이러한 테이블은 RELOAD_PROPERTY 프로시저 중 하나를 사용하여 수동으로 다시 로드할 수 있습니다.

새로운 일일 테이블 수집

커넥터가 성공적으로 수집을 실행할 때마다 최대 96시간(테이블이 생성된 날 24시간, 데이터 업데이트가 발생할 수 있는 72시간) 동안 테이블을 다시 로드하기 위해 재로드가 지속적으로 생성됩니다. 재로드는 수집 실행이 성공할 때마다 디스패처 실행 후 트리거되며, 최대 빈도는 시간당 한 번입니다. 마지막 재로드 날짜는 테이블 이름과 할당된 96시간 기간을 기준으로 계산됩니다.

예를 들어, 커넥터 일시 중지 등으로 인해 새로운 일일 수집을 따라잡아야 하는 경우 커넥터는 모든 테이블을 순차적으로 수집합니다. 불필요한 경우, 즉 테이블이 생성된 후 96시간 이상 경과한 경우 다시 로드가 생성되지 않습니다.

이 기능은 Google Analytics 360 고객만 사용할 수 있습니다. ENABLE_PROPERTIES 또는 UPDATE_INGESTION_OPTIONS 프로시저를 사용하여 매일 새로 내보내기를 수동으로 활성화할 수 있습니다.

일중 수집

커넥터는 과거 일중 테이블(BigQuery에 있는 경우) 다운로드와 계속 업데이트를 받는 일중 테이블의 지속적인 수집을 지원합니다.

과거의 날에 대해서는 커넥터는 일일 테이블의 경우와 동일한 방식으로 일중 테이블을 다운로드합니다. 각 테이블은 프로세스가 현재 데이터에 도달할 때까지 한 번에 한 테이블씩 전체적으로 다운로드됩니다.

커넥터는 일중 테이블이 BigQuery의 마지막 테이블임을 인식하면 테이블을 증분 처리하기 시작합니다. 이는 기본적으로 8시간인 일정한 간격으로 종일 테이블에서 들어오는 데이터 배치를 다운로드한다는 의미입니다.

다음 조건 중 하나라도 충족되는 경우:

  • 다음 날 테이블이 BigQuery 데이터 세트에 나타남

  • 지정된 테이블에 대한 첫 번째 로드 이후 24시간 경과

커넥터가 지정된 일중 테이블에 대한 최종 수집을 수행하고 다음 테이블로 전환합니다.

참고

이벤트가 10분 이상 지연되는 경우 소수의 이벤트가 수집되지 않을 수 있습니다. 일중 테이블의 증분 로드가 완료된 직후 커넥터는 손실된 이벤트가 있는지 확인하며, 있는 경우 Snowflake와 BigQuery 간의 데이터 일관성을 보장하기 위해 테이블을 다시 로드하도록 예약합니다.

사용자 데이터 테이블 수집

사용자 데이터 테이블 수집은 일일 테이블 수집과 동일한 메커니즘을 기반으로 합니다.

예약하기

커넥터는 BigQuery에 새 테이블이 있는지 확인한 다음 아래와 같은 경우 Snowflake에 새 테이블(또는 증분 일중 수집의 경우에는 새 테이블의 일부)의 수집을 예약합니다.

  • 구성된 예약 일정에 따라 작업이 트리거된 경우
    • 기본적으로 8시간마다 트리거됨

    • CONFIGURE_INGESTION_INTERVAL 을 사용하면 더/덜 자주 업데이트해야 하는 경우 기본 간격 값을 변경할 수 있습니다.

  • 커넥터가 마지막으로 예약된 테이블의 수집을 완료한 경우
    • 결과적으로, 하루에 한 번 이상 수집을 수행해야 하며 이는 곧 한 번 이상 추가 검사가 필요하다는 의미이므로 구성에서 지정된 것보다 예약 수집이 더 자주 실행된다는 의미입니다.

    • 특히, 초기 로드가 진행 중이고 수집할 테이블이 많은 경우에는 각 테이블을 수집한 후 예약 메커니즘이 트리거됩니다.

OSZAR »