2 일 전 (2016 년 8 월 10 일)부터 Google 애널리틱스 프리미엄 용 BQ 내보내기 테이블을 사용하여 작업했던 검색어가 작동하지 않습니다. 그것은 다음과 같은 오류 반환 : 일부 조사 후BigQuery의 버그 또는 새로운 동작?
Error: Cannot union tables : Incompatible types. 'hits.latencyTracking.userTimingVariable' : TYPE_INT64 'hits.latencyTracking.userTimingVariable' : TYPE_STRING
를, 내가 전에부터 8 월 10 일 (테이블 ga_sessions_20160810) 후 테이블을 조회 WHERE 절에서 IN 사용에 문제가 될 것으로 보인다.
동일한 기본 구조를 가진 더미 쿼리를 제공하기 위해 원래 쿼리를 단순화했습니다. 2016년 8월 9일과 2016-08에서이 경우
SELECT fullVisitorId, sum(totals.visits)
FROM (select * from TABLE_DATE_RANGE([XXXXXXXX.ga_sessions_],TIMESTAMP('2016-08-08'),TIMESTAMP('2016-08-09')))
WHERE fullVisitorId in(
SELECT fullVisitorId
FROM TABLE_DATE_RANGE([XXXXXXXX.ga_sessions_],TIMESTAMP('2016-08-08'),TIMESTAMP('2016-08-09'))
)
GROUP BY fullVisitorId
그러나 단지 날짜 변경이 다른 하나 (다음 쿼리 (쿼리 2016년 8월 8일 데이터 및 2016년 8월 9일)를 작동 -10) 오류 반환 :
SELECT fullVisitorId, sum(totals.visits)
FROM (select * from TABLE_DATE_RANGE([XXXXXXXX.ga_sessions_],TIMESTAMP('2016-08-09'),TIMESTAMP('2016-08-10')))
WHERE fullVisitorId in(
SELECT fullVisitorId
FROM TABLE_DATE_RANGE([XXXXXXXX.ga_sessions_],TIMESTAMP('2016-08-09'),TIMESTAMP('2016-08-10'))
)
GROUP BY fullVisitorId
이 마지막 쿼리가 잘 작동을 하나 난 그냥 IN에서 쿼리를하려고하면 나는 나 WHERE 절을 삭제, 그래서 문제가 구조 필드으로 추측 경우 에서(...). 또한 2016-08-10의 데이터 만 쿼리하면 작동합니다. 또한 fullVisitorId와 다른 필드를 사용하고 다른 BQ 프로젝트에서 동일한 쿼리를 실행하는 경우도 마찬가지입니다.
오류 설명을 살펴보면 변수 유형에 문제가 있지만 hits.latencyTracking.userTimingVariable이 무엇인지 알 수 없습니다. 내 쿼리가 제대로 작동하는 데 사용되어서 오류가 발생하는 변경된 내용을 파악할 수 없습니다. 일부 필드가 유형을 변경했거나 어떤 일이 발생 했습니까?
누구에게 경험이 있습니까? 이 문제가 BigQuery의 새로운 동작입니까? 이 오류를 어떻게 해결할 수 있습니까?
스키마 변경, 당신은 매개 변수 hits.latencyTracking.userTimingVariable은 정수 테이블 ga_sessions을 확인하고 지금은이 작업을 시도조차 캔트, 문자열 인 경우 : SELECT fullVisitorId, hits.latencyTracking을 .userTimingVariable FROM TABLE_DATE_RANGE ([xxxxxxxxxxxx.ga_sessions _], TIMESTAMP ('2016-08-9'), TIMESTAMP ('2016-08-10')), date_range 함수가 스키마 변경시 준비되지 않았습니다 . –
' 맞아, Paulo. hits.latencyTracking.이 기간 동안 userTimingVariable이 INTEGER에서 STRING으로 변경되었지만이 필드를 쿼리하지 않습니다 ... 내 쿼리에서 사용하는 방식을 알고 있습니까? –