Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BigQuery Scriptingを利用してCloudSQLのテーブルを転送する仕組みを作った話

4bf9f85356f5a7c959b73f19f4c0df37?s=47 masarufuruya
May 31, 2022
18

BigQuery Scriptingを利用してCloudSQLのテーブルを転送する仕組みを作った話

4bf9f85356f5a7c959b73f19f4c0df37?s=128

masarufuruya

May 31, 2022
Tweet

Transcript

  1. ݹՈେ BigQuery ScriptingΛར༻ͯ͠CloudSQL ͷςʔϒϧΛసૹ͢Δ࢓૊ΈΛ࡞ͬͨ࿩

  2. ͲΜͳ࢓૊Έ͔ w #JH2VFSZ4DSJQUJOHΛ࢖͏͜ͱͰɺ42-Ͱ1ZUIPOͷΑ͏ʹॻ͚Δɻ w ࠓճ͸$MPVE42-GPS1PTUHSF42-ͷΞϓϦέʔγϣϯͷςʔϒϧΛશ݅औ ಘͯ͠#JH2VFSZʹຖ೔อଘ͢ΔόονॲཧΛ࣮૷ͯ͠Έͨɻ

  3. ͲΜͳ࢓૊Έ͔

  4. ͳͥ࡞Ζ͏ͱࢥͬͨͷ͔ w ࠓ·Ͱ͸"JSCZUFͰ)FSPLV͔Βసૹ͍ͯͨ͠ w $MPVE42-ʹҠߦ͢Δ͜ͱͰ"JSCZUFͷαʔόʔ୆ͷίετΛ࡟ݮ͔ͨͬͨ͠

  5. #JH2VFSZ4DSJQUJOHͱ͸ w #JH2VFSZͰෳ਺ͷΫΤϦΛॻ͚ΔΑ͏ʹͳͬͨػೳʢ೥ʹϦϦʔεʣ w ࠓͷυΩϡϝϯτͰ͸खଓ͖ܕݴޠͱॻ͔Ε͍ͯΔ˞ w ػೳͷ༗ޮԽ͸ෆཁɻ#JH2VFSZͷΤσΟλͰ௚઀ॻ͖࢝ΊΒΕΔɻ ˞IUUQTDMPVEHPPHMFDPNCJHRVFSZEPDTSFGFSFODFTUBOEBSETRMTDSJQUJOH

  6. $MPVE42-ͱ͸ w ($1͕ఏڙ͢ΔϑϧϚωʔδυͳϦϨʔγϣφϧσʔλϕʔε w .Z42-ɺ1PTUHSF42-ɺ42-4FSWFSΛఏڙ w ϓϥΠϕʔτ*1Ͱߏங͢Δ͜ͱ͕Ͱ͖ɺηΩϡϦςΟ୲อ΍εέʔϧ͠΍͍͢ w ΞϓϦʹෛՙΛ͔͚ͳ͍Α͏ʹɺ#JH2VFSZ༻ͷϦʔυϨϓϦΧΛ༻ҙͨ͠ɻ ϦʔυϨϓϦΧ

  7. &YUFSOBM2VFSZͱ͸ w #JH2VFSZ͔Β֎෦ͷσʔλιʔε΁௚઀ΫΤϦΛ࣮ߦͰ͖Δػೳ w #JHUBCMFɺ$MPVE4QBOOFSɺ$MPVE42-ɺ$MPVE4UPSBHFɺ(PPHMFυϥΠ ϒ΁ར༻Մ

  8. &YUFSOBM2VFSZͱ͸ w $MPVE42-ͷ৔߹ɺ#JH2VFSZ$POOFDUJPOͰ઀ଓઃఆͷ࡞੒͕ඞཁ

  9. 'PSจ w 'PSʜJOจΛར༻ w 4&-&$5ͷαϒΫΤϦ͔Βऔಘͨ͠ҰཡΛ%0ͷॲཧͰҰ࣮݅ͣͭߦ

  10. $3&"5&033&1-"$&5"#-&ͱ&9&$65&*..&%*"5& w ςʔϒϧ͕ଘࡏ͠ͳ͍৔߹͸࡞੒ɺଘࡏ͢Δ৔߹͸ஔ͖׵͕͑Ͱ͖Δؔ਺ɻ w ม਺ΛಈతʹຒΊࠐΈ͍ͨ৔߹͸ɺ&9&$65&*..&%*"5&Λ࢖͏ɻ w ͨͩ4&-&$5͢Δ͚ͩͰ͸ɺม਺͸ల։͞Εͳ͍ͷͰ஫ҙɻ

  11. εέδϡʔϧΫΤϦͰઃఆ w ࠓ·Ͱॻ͍ͨΫΤϦΛεέδϡʔϧΫΤϦʹຖ೔࣮ߦ͢ΔΑ͏ઃఆ w (6*ͩͱݸਓͷ(PPHMFΞΧ΢ϯτʹඥ෇͍ͨઃఆʹͳͬͯ͠·͏ w αʔϏεΞΧ΢ϯτͰεέδϡʔϧΫΤϦΛઃఆ͢Δͷ͸1ZUIPO౳Ͱߦ͏

  12. ৼΓฦΓɿྑ͔ͬͨ͜ͱ w ৚݅෼ذ΍ϧʔϓॲཧΛ࣮૷͍ͨ࣌͠ʹɺ1ZUIPO౳ͷݴޠΛ࢖Θͣʹ࣮૷Ͱ ͖Δͷ͸ศརͩͳͱࢥͬͨɻ w &5-ͷॲཧΛ#JH2VFSZͰ׬݁Ͱ͖ΔͷͰɺ%JHEBHͳͲΛ࢖͍ͬͯΔॲཧΛ ஔ͖׵͑ͯίετ࡟ݮͱ͍ͬͨ͜ͱ΋Ͱ͖ͦ͏ɻ

  13. ৼΓฦΓɿվળ఺ w δϣϒεέδϡʔϥͷػೳ͸εέδϡʔϧΫΤϦΛ࢖͏ඞཁ͕͋Γɺ਺͕૿͑ Δͱ൥ࡶʹͳΓͦ͏ w 1ZUIPOͰಉ༷ͷ42-จΛॻ͍ͨECUϑΝΠϧΛ࡞ͬͯδϣϒεέδϡʔϥ͸ $MPVE4DIFEVMFSɺϏϧυ͸$MPVE#VJMEͰߦ͏ߏ੒ʹͨ͠ํ͕ɺ42-͸(JU ؅ཧͰ͖ΔͷͰྑͦ͞͏ʢݱࡏ͸͜ͷߏ੒ʹͨ͠ʣ

  14. ·ͱΊ w खܰʹ৚݅෼ذ΍ϧʔϓॲཧ͕ඞཁͳεΫϦϓτΛॻ͖͍ͨ৔߹͸#JH2VFSZ Ͱ׬݁͢ΔͷͰศར w ؆ܿͳύΠϓϥΠϯͳΒɺ#JH2VFSZ4DSJQUJOH εέδϡʔϧΫΤϦͰे෼ ͳγʔϯ͸͋Γͦ͏ w νʔϜͱͯ͠ܧଓ։ൃ͢Δ৔߹͸ECU

    $*$%Ͱ42-͸૊ΉΑ͏ʹͨ͠ํ͕ ίʔυʹه࿥͕࢒ͬͯྑ͍ͩΖ͏