BigQuery Python: maswali hufanya kazi kupitia proksi, upakuaji hushindwa
Angalia kama upakuaji wa matokeo ya BigQuery Python huunda mteja wa Storage API kwa kujitegemea kutoka kwa njia ya HTTP ya swali.
Swali linaweza kukamilika kwa mafanikio na bado likashindwa wakati wa kupakua matokeo yake kwenye pandas. Maktaba ya BigQuery Python inaweza kutumia mteja tofauti wa BigQuery Storage API kwa upakuaji huo.
Kiolesura cha RowIterator.to_dataframe kinaandika create_bqstorage_client, ambayo thamani yake chaguo-msingi ni true, na hoja bqstorage_client. Soma mipangilio hiyo pamoja na vitegemezi vilivyopo kwenye programu. Mafanikio kwenye njia ya kawaida ya swali hayathibitishi kwamba usafirishaji wa hiari wa upakuaji una msaada sawa wa proksi au usanidi sawa.
| Hatua | Nini cha kuchunguza |
|---|---|
| Upataji wa hati za utambulisho | Usafirishaji wa hati za utambulisho na endpoint ya utambulisho |
| Kuwasilisha na kuchunguza swali | Njia ya ombi ya mteja wa BigQuery |
| Kupakua kupitia Storage API | Mteja wa Storage API na usafirishaji wake |
Kwa ulinganisho uliodhibitiwa, chaguo lililoandikwa create_bqstorage_client=False huepuka uundaji wa kiotomatiki wa mteja huyo wa ziada. Hii inaweza kusaidia kutambua ni njia ipi inashindwa. Ni chaguo la usafirishaji lenye athari za utendaji, si ushahidi kwamba proksi yenyewe ilirekebishwa.
Ikiwa programu inatoa mteja wake wa Storage API, sanidi mteja huyo kwa makusudi. Usidhani kwamba kitu maalum cha HTTP kilichounganishwa na mteja mwingine kitamsanidi upya.
Mifano ya zamani hujadili utekelezaji wa httplib2 uliopitwa na wakati au ndoano za kibinafsi za constructor. Linganisha ujumuishaji na kizazi cha maktaba iliyosakinishwa, na uweke hatua ya kushindwa kwenye ripoti. Hitilafu ya ubadilishaji wa DataFrame na muunganisho wa mtandao uliokataliwa ni matokeo tofauti hata yanapotokea katika wito mmoja wa mbinu.