bq.py için bir sarıcı yazmak üzereyiz ve 100 k satırdan büyük sonuç kümeleriyle ilgili sorun yaşıyoruz. Geçmişte bu iyi çalışıyor gibi görünüyor (Google BigQuery Incomplete Query Replies on Odd Attempts ile ilgili sorunlar vardı). Belki de doc page'da açıklanan sınırları anlamıyorum? Örneğinbq.py Sayfalara bak Not
: Biz doğrudan API erişmek, bizim sarıcı olarak
Limit 99999 Returned 100003 Rows
Limit 100000 Returned 100004 Rows
Limit 100001 Returned 100004 Rows
Limit 100002 Returned 100004 Rows
:
#!/bin/bash
for i in `seq 99999 100002`;
do
bq query -q --nouse_cache --max_rows 99999999 "SELECT id, FROM [publicdata:samples.wikipedia] LIMIT $i" > $i.txt
j=$(cat $i.txt | wc -l)
echo "Limit $i Returned $j Rows"
done
Getirileri (4 biçimlendirme çizgiler vardır unutmayın)
while row_count < total_rows:
data = client.apiclient.tabledata().list(maxResults=total_rows - row_count,
pageToken=page_token,
**table_dict).execute()
# If there are more results than will fit on a page,
# you will recieve a token for the next page
page_token = data.get('pageToken', None)
# How many rows are there across all pages?
total_rows = min(total_rows, int(data['totalRows'])) # Changed to use get(data[rows],0)
raw_page = data.get('rows', [])
Biz Bu durumda bir jeton almayı bekler, ancak hiçbiri iade edilmez.
Bilgi için teşekkürler - değişikliği bekliyoruz. API istemcilerinin farkındayız ve orijinal olarak özel olarak kullanıyoruz. Ancak, bazılarının alternatifleri dikkate almaya zorlayan API değişikliklerinden dolayı çok sayıda sorunla karşılaştık. bq.py ihtiyaç duyduğumuz neredeyse tüm işlevselliği uygular ve mümkün olduğunda test edilen kodu yeniden kullanmanın büyük bir hayranıyım.Ayrıca, yerleşik kimlik doğrulama akış kodu, :-) ile gelebileceklerinden çok daha yumuşaktır. Lütfen değişiklikler canlı olduğunda lütfen bize bildirin. –
Hey Jacob, Şimdi bir şans verin ve hala sorun yaşıyorsanız bildirin. – Eric
Bu bir arka plan değişikliği miydi yoksa farklı bir şey yapmam gerekecek mi? Yukarıda verdiğim gösterim betiği aynı yanlış sonuçları üretir. Aynı şekilde, kod etrafındaki sarıcımız yine de benzer sorgular için başarısız oluyor. –