2016-03-23 8 views
1

Python BigQuery İstemci Kitaplığı'nı kullanıyorum.BigQuery: UI'da sonuç kümesi ve API'den farklı sayıda satır var. Niye ya?

queryOutput = bigquery.jobs().getQueryResults(projectId=projectId,jobId=jobId,pageToken=pageToken).execute() 
print('totalRows: '+str(queryOutput['totalRows'])) 

döner: My bağlantı Şuna bak, vb aynı veri kümesi sorgulayarak, iyidir

totalRows: 208 

Ama aynı sorguyu alır ve BQ web arayüzü içine yem eğer, Sonuç kümesinde 176 satır var. Bu neden oluyor? Bir sorgunun hangi arabirime geçtiğine bağlı olarak neden farklı sonuç kümeleri vardır?

+1

sorgu aynı veriler üzerinde faaliyet gösteriyor emin önbelleğe alınmış sonuçlar)

size mantıklı Umut kullanılır? Alttaki tablolar, python'da "getQueryResults" ifadesini çağıran sorgu işi ile web kullanıcı arayüzünde tekrar çalıştığınız sırada değişebilir mi? Farklı sayıda sonuç döndüren iki işin iş kimliklerini paylaşabiliyorsanız, bir göz atabilir ve neler olduğunu görebiliriz. –

+0

Danny'ye yanıtladığınız için teşekkür ederiz. TABLE_DATE_RANGE DAN fullVisitorId, visitId, hits.hitNumber, hits.page.pagePath SELECT ([98843070.ga_sessions_], ZAMAN BİLGİSİ ('2015/03/16'), ZAMAN BİLGİSİ ('2016: burada sorgusu -03-16 ')) LİMİT Bana göre veriler değişiyor olabilir. Sana işini nasıl göndermeliyim? – duuug

+0

Göndermeler tamam mı? – duuug

cevap

1

Farklı bir sonuç elde etmenizin nedeni, gerçekte SELECT'inizde atıfta bulunduğunuz bazı alanların yinelenmesi (hits.hitNumber, hits.page.pagePath) ve LIMIT 100 yerine sahip olmanızdır.

Siparişiniz öngörülebilen herhangi bir ORDER BY olmadığından, sorguyu her çalıştırdığınızda, farklı son sayımlarla sonuçlanan farklı sayıda yuvalanmış alana sahip 100 satır/kayıt alıyorsunuz demektir. Eğer

+0

teyit ediliyor mu görmek güzel olurdu - API w/useQueryCache ile istendiğinde sorgular sordu farklı sayımlar. Zor! tekrarlanan alanların davranışını daima akılda tutmak için iyi bir hatırlatma. – duuug

+0

teyit ettiğiniz için teşekkür ederiz: o) –

İlgili konular