BigQuery Python: query ເຮັດວຽກຜ່ານ proxy, ແຕ່ການດາວໂຫຼດລົ້ມເຫຼວ
ກວດເບິ່ງວ່າການດາວໂຫຼດຜົນລັບຂອງ BigQuery Python ສ້າງ client ຂອງ Storage API ແຍກຕ່າງຫາກຈາກເສັ້ນທາງ HTTP ຂອງ query ຫຼືບໍ່.
query ອາດຈະສຳເລັດ ແຕ່ຍັງລົ້ມເຫຼວໄດ້ເມື່ອດາວໂຫຼດຜົນລັບເຂົ້າ pandas. ຫ້ອງສະໝຸດ BigQuery Python ສາມາດໃຊ້ client ຂອງ BigQuery Storage API ແຍກຕ່າງຫາກສຳລັບການດາວໂຫຼດນັ້ນ.
interface RowIterator.to_dataframe ອະທິບາຍ create_bqstorage_client ເຊິ່ງຄ່າເລີ່ມຕົ້ນແມ່ນ true, ແລະ argument bqstorage_client. ອ່ານການຕັ້ງຄ່າເຫຼົ່ານັ້ນຄຽງກັບ dependencies ທີ່ມີຢູ່ໃນແອັບພລິເຄຊັນ. ຄວາມສຳເລັດໃນເສັ້ນທາງ query ປົກກະຕິບໍ່ໄດ້ພິສູດວ່າເສັ້ນທາງການດາວໂຫຼດທາງເລືອກມີການສະໜັບສະໜູນ proxy ຫຼືການຕັ້ງຄ່າແບບດຽວກັນ.
| ຂັ້ນຕອນ | ສິ່ງທີ່ຕ້ອງກວດ |
|---|---|
| ການໄດ້ມາເຊິ່ງ credential | ການຂົນສົ່ງ credential ແລະ endpoint ຂອງ identity |
| ການສົ່ງ ແລະ ການ poll query | ເສັ້ນທາງ request ຂອງ client BigQuery |
| ການດາວໂຫຼດຜ່ານ Storage API | client ຂອງ Storage API ແລະ ການຂົນສົ່ງຂອງມັນ |
ສຳລັບການປຽບທຽບແບບຄວບຄຸມ, ຕົວເລືອກ create_bqstorage_client=False ທີ່ມີເອກະສານກ່າວເຖິງ ຫຼີກລ້ຽງການສ້າງ client ເພີ່ມເຕີມນັ້ນໂດຍອັດຕະໂນມັດ. ສິ່ງນີ້ຊ່ວຍລະບຸວ່າເສັ້ນທາງໃດລົ້ມເຫຼວ. ມັນເປັນການເລືອກການຂົນສົ່ງທີ່ມີຜົນກະທົບຕໍ່ປະສິດທິພາບ, ບໍ່ແມ່ນຫຼັກຖານວ່າ proxy ເອງໄດ້ຮັບການແກ້ໄຂ.
ຖ້າແອັບພລິເຄຊັນສະໜອງ client ຂອງ Storage API ຂອງຕົນເອງ, ຕັ້ງຄ່າ client ນັ້ນຢ່າງຕັ້ງໃຈ. ຢ່າສົມມຸດວ່າວັດຖຸ HTTP ທີ່ກຳນົດເອງທີ່ຕິດກັບ client ອື່ນຈະຕັ້ງຄ່າມັນຄືນໃໝ່.
ຕົວຢ່າງເກົ່າກ່າວເຖິງການຈັດຕັ້ງ httplib2 ທີ່ລ້າສະໄໝ ຫຼື hooks ຂອງ constructor ແບບ private. ຈັບຄູ່ການເຊື່ອມຕໍ່ກັບລຸ້ນຂອງຫ້ອງສະໝຸດທີ່ຕິດຕັ້ງໄວ້, ແລະ ຮັກສາຂັ້ນຕອນທີ່ລົ້ມເຫຼວໄວ້ໃນລາຍງານ. ຂໍ້ຜິດພາດໃນການແປງເປັນ DataFrame ແລະ ການເຊື່ອມຕໍ່ເຄືອຂ່າຍທີ່ຖືກປະຕິເສດ ແມ່ນຜົນໄດ້ຮັບທີ່ແຕກຕ່າງກັນ ເຖິງແມ່ນວ່າຈະເກີດຂຶ້ນໃນການເອີ້ນ method ດຽວກັນ.