2017-04-26 3 views
2

이벤트를 기록하고이 순간이 발생한 순간을 지정하려고합니다. 예를 들어Firebase Analytics : 날짜로 BigQuery로 데이터 내보내기

: 나는 그것의 BigQuery로 내 보낸 후, 나는 그래서, 예를 들어, 얻을 수있는 날짜/시간 소인이 매개 변수를 사용할 수있을 가능성이 있는지 알고 싶습니다

Firebase.Analytics.FirebaseAnalytics.LogEvent ("EventGamePlayed", "sent_at", DateTime.Now.ToString ("yyyy-MM-dd hh:mm:ss")); 

모든 지난 달에 발생한 X 또는 Y 이벤트.

감사합니다!

답변

3

아마도 실제로는 필요하지 않습니다. Firebase schema for BigQuery exports을 참조하면 date 또는 timestamp_microsevent_dim 내에 사용할 수 있습니다. 예를 들어, 4 월 1 일 이벤트를 찾기 위해, 당신이 할 수 있습니다 :

#standardSQL 
SELECT event 
FROM YourTable 
CROSS JOIN UNNEST(event_dim) AS event 
WHERE PARSE_DATE('%Y%m%d', event.date) = '2017-04-01'; 

는 4 월 1 일 정오와 오후 4 UTC 사이에 발생한 이벤트를 찾으려면, 당신은 할 수 :

#standardSQL 
SELECT event 
FROM YourTable 
CROSS JOIN UNNEST(event_dim) AS event 
WHERE TIMESTAMP_MICROS(event.timestamp_micros) BETWEEN 
    '2017-04-01 12:00:00' AND '2017-04-01 16:00:00'; 
+0

이 작동하지만, 데이터를 실제 DATE 또는 TIMESTAMP 유형으로 변환하는 이점 - 이러한 쿼리는 훨씬 빠르게 작동합니다. 날짜/타임 스탬프의 일반적인 비교에 대한 필터가 더 깊게 푸시 될 수 있습니다. –

+0

Firebase는 이벤트에서 'DATE'또는 'TIMESTAMP'유형을 지원하지 않습니다. 그들은'STRING','INT64', 또는'FLOAT64' 타입 일 수 있기 때문에 옵션이 아닙니다. –

+0

그러나 BQ에 데이터가로드되면 PARSE_DATE/TIMESTAMP_MICROS 함수를 사용하여 올바른 유형이되도록 변환 할 수 있습니다. –