BigQuery Python: ക്വറികൾ പ്രോക്സിയിലൂടെ പ്രവർത്തിക്കുന്നു, ഡൗൺലോഡുകൾ പരാജയപ്പെടുന്നു
ക്വറിയുടെ HTTP പാതയിൽ നിന്ന് സ്വതന്ത്രമായി BigQuery Python ഫലം ഡൗൺലോഡ് ചെയ്യുമ്പോൾ ഒരു Storage API ക്ലയന്റ് സൃഷ്ടിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക.
ഒരു ക്വറി വിജയകരമായി പൂർത്തിയായാലും അതിന്റെ ഫലം pandas-ലേക്ക് ഡൗൺലോഡ് ചെയ്യുമ്പോൾ പരാജയപ്പെടാം. ആ ഡൗൺലോഡിനായി BigQuery Python ലൈബ്രറി ഒരു പ്രത്യേക BigQuery Storage API ക്ലയന്റ് ഉപയോഗിച്ചേക്കാം.
RowIterator.to_dataframe ഇന്റർഫേസ് create_bqstorage_client, അതിന്റെ സ്ഥിരമായ മൂല്യം true ആണ്, എന്നതും bqstorage_client ആർഗ്യുമെന്റും രേഖപ്പെടുത്തുന്നു. ആ ക്രമീകരണങ്ങൾ ആപ്ലിക്കേഷനിലുള്ള ഡിപ്പൻഡൻസികൾക്കൊപ്പം വായിക്കുക. സാധാരണ ക്വറി പാതയിലെ വിജയം, ഓപ്ഷണൽ ഡൗൺലോഡ് ട്രാൻസ്പോർട്ടിന് അതേ പ്രോക്സി പിന്തുണയോ കോൺഫിഗറേഷനോ ഉണ്ടെന്ന് തെളിയിക്കുന്നില്ല.
| ഘട്ടം | എന്ത് പരിശോധിക്കണം |
|---|---|
| ക്രെഡൻഷ്യൽ നേട്ടം | ക്രെഡൻഷ്യൽ ട്രാൻസ്പോർട്ടും ഐഡന്റിറ്റി എൻഡ്പോയിന്റും |
| ക്വറി സമർപ്പിക്കലും പോളിംഗും | BigQuery ക്ലയന്റിന്റെ അഭ്യർത്ഥന പാത |
| Storage API വഴിയുള്ള ഡൗൺലോഡ് | Storage API ക്ലയന്റും അതിന്റെ ട്രാൻസ്പോർട്ടും |
നിയന്ത്രിത താരതമ്യത്തിനായി, രേഖപ്പെടുത്തിയ create_bqstorage_client=False ഓപ്ഷൻ ആ അധിക ക്ലയന്റ് സ്വയമേവ സൃഷ്ടിക്കുന്നത് ഒഴിവാക്കുന്നു. ഏത് പാതയാണ് പരാജയപ്പെടുന്നതെന്ന് തിരിച്ചറിയാൻ ഇത് സഹായിക്കും. ഇത് പ്രകടന പ്രത്യാഘാതങ്ങളുള്ള ഒരു ട്രാൻസ്പോർട്ട് തിരഞ്ഞെടുപ്പാണ്, പ്രോക്സി തന്നെ അറ്റകുറ്റപ്പണി ചെയ്തു എന്നതിന് തെളിവല്ല.
ആപ്ലിക്കേഷൻ സ്വന്തം Storage API ക്ലയന്റ് നൽകുന്നുവെങ്കിൽ, ആ ക്ലയന്റ് ബോധപൂർവം കോൺഫിഗർ ചെയ്യുക. മറ്റൊരു ക്ലയന്റിൽ ഘടിപ്പിച്ച ഇഷ്ടാനുസൃത HTTP ഒബ്ജക്ട് അതിനെ പുനഃക്രമീകരിക്കുമെന്ന് കരുതരുത്.
പഴയ ഉദാഹരണങ്ങൾ കാലഹരണപ്പെട്ട httplib2 നടപ്പാക്കലുകളെയോ സ്വകാര്യ കൺസ്ട്രക്ടർ ഹൂക്കുകളെയോ കുറിച്ച് സംസാരിക്കുന്നു. ഇന്റഗ്രേഷൻ ഇൻസ്റ്റാൾ ചെയ്ത ലൈബ്രറി തലമുറയുമായി പൊരുത്തപ്പെടുത്തുക, പരാജയ ഘട്ടം റിപ്പോർട്ടിൽ നിലനിർത്തുക. DataFrame പരിവർത്തന പിശകും നിരസിക്കപ്പെട്ട നെറ്റ്വർക്ക് കണക്ഷനും ഒരേ മെത്തേഡ് കോളിൽ സംഭവിച്ചാലും വ്യത്യസ്ത ഫലങ്ങളാണ്.