Užklausa gali sėkmingai baigtis ir vis tiek nepavykti atsisiunčiant jos rezultatą į pandas. BigQuery Python biblioteka tam atsisiuntimui gali naudoti atskirą BigQuery Storage API klientą.

RowIterator.to_dataframe sąsaja dokumentuoja create_bqstorage_client, kurio numatytoji reikšmė yra true, ir bqstorage_client argumentą. Skaitykite tuos nustatymus kartu su priklausomybėmis, esančiomis programoje. Sėkmė įprastame užklausos kelyje neįrodo, kad pasirenkamas atsisiuntimo transportas turi tokią pačią tarpinio serverio paramą ar konfigūraciją.

EtapasKą tikrinti
Kredencialų gavimasKredencialų transportas ir tapatybės endpoint
Užklausos pateikimas ir apklausaBigQuery kliento užklausos kelias
Atsisiuntimas per Storage APIStorage API klientas ir jo transportas

Kontroliuojamam palyginimui dokumentuota parinktis create_bqstorage_client=False išvengia automatiško to papildomo kliento sukūrimo. Tai gali padėti nustatyti, kuris kelias nepavyksta. Tai transporto pasirinkimas su našumo pasekmėmis, o ne įrodymas, kad pats tarpinis serveris buvo sutaisytas.

Jei programa pateikia savo Storage API klientą, sukonfigūruokite tą klientą sąmoningai. Nelaikykite, kad prie kito kliento prijungtas pasirinktinis HTTP objektas jį perkonfigūruoja.

Senesni pavyzdžiai kalba apie pasenusias httplib2 implementacijas arba privačius konstruktoriaus kabliukus. Suderinkite integraciją su įdiegtos bibliotekos karta ir išsaugokite nepavykusį etapą ataskaitoje. DataFrame konvertavimo klaida ir atmestas tinklo ryšys yra skirtingi rezultatai, net kai jie įvyksta tame pačiame metodo iškvietime.

Susiję straipsniai