שאילתה יכולה להסתיים בהצלחה ובכל זאת להיכשל בעת הורדת התוצאה שלה אל pandas. ספריית BigQuery Python יכולה להשתמש בלקוח BigQuery Storage API נפרד עבור אותה הורדה.

ממשק RowIterator.to_dataframe מתעד את create_bqstorage_client, שערכו כברירת מחדל true, ואת הארגומנט bqstorage_client. קראו את ההגדרות האלה יחד עם התלויות הקיימות ביישום. הצלחה בנתיב השאילתה הרגיל אינה מוכיחה שלאמצעי ההורדה האופציונלי יש אותה תמיכת proxy או אותה תצורה.

שלבמה לבדוק
השגת פרטי התחברותהובלת פרטי ההתחברות ונקודת הקצה של הזהות
שליחת שאילתה ובדיקת מצבהנתיב הבקשות של לקוח BigQuery
הורדה דרך Storage APIלקוח Storage API וההובלה שלו

לשם השוואה מבוקרת, האפשרות המתועדת create_bqstorage_client=False מונעת יצירה אוטומטית של הלקוח הנוסף הזה. זה יכול לעזור לזהות איזה נתיב נכשל. זו בחירת הובלה עם השלכות ביצועים, לא הוכחה שה-proxy עצמו תוקן.

אם היישום מספק לקוח Storage API משלו, הגדירו את הלקוח הזה במכוון. אל תניחו שאובייקט HTTP מותאם שמחובר ללקוח אחר יגדיר אותו מחדש.

דוגמאות ישנות יותר דנות במימושים מיושנים של httplib2 או בקרסי בנאי פרטיים. התאימו את האינטגרציה לדור הספרייה המותקן, ושמרו את שלב הכשל בדוח. שגיאת המרה ל-DataFrame וחיבור רשת שנדחה הם תוצאות שונות גם כאשר הם מתרחשים באותה קריאת שיטה.

מאמרים קשורים