Sut y gwnaeth BigQuery Google ddemocrateiddio dadansoddi data. Rhan 1

Hei Habr! Mae cofrestru ar gyfer ffrwd cwrs newydd ar agor yn OTUS ar hyn o bryd Peiriannydd Data. Gan ragweld dechrau'r cwrs, rydym yn draddodiadol wedi paratoi cyfieithiad o ddeunydd diddorol i chi.

Bob dydd, mae dros gan miliwn o bobl yn ymweld â Twitter i ddarganfod beth sy'n digwydd yn y byd a'i drafod. Mae pob trydariad ac unrhyw weithred arall gan ddefnyddwyr yn creu digwyddiad sydd ar gael ar gyfer dadansoddi data mewnol o fewn Twitter. Mae cannoedd o weithwyr yn dadansoddi ac yn delweddu'r data hwn, ac mae gwella eu profiad yn brif flaenoriaeth i dîm Llwyfan Data Twitter.

Credwn y dylai defnyddwyr ag ystod eang o sgiliau technegol allu dod o hyd i ddata a chael mynediad at offer dadansoddi a delweddu seiliedig ar SQL sy'n gweithio'n dda. Byddai hyn yn caniatáu i grŵp cwbl newydd o ddefnyddwyr llai technegol, gan gynnwys dadansoddwyr data a rheolwyr cynnyrch, dynnu mewnwelediadau o'r data, gan ganiatáu iddynt ddeall a defnyddio pŵer Twitter yn well. Dyma sut rydym yn democrateiddio dadansoddi data ar Twitter.

Wrth i'n hoffer a'n galluoedd ar gyfer dadansoddi data mewnol wella, rydym wedi gweld gwelliant yn y gwasanaeth Twitter. Fodd bynnag, mae lle i wella o hyd. Mae offer cyfredol fel Sgaldio yn gofyn am brofiad rhaglennu. Mae gan offer dadansoddi seiliedig ar SQL fel Presto a Vertica broblemau perfformiad ar raddfa fawr. Mae gennym hefyd broblem gyda dosbarthu data ar draws systemau lluosog heb fynediad cyson ato.

Y llynedd fe wnaethom gyhoeddi cydweithrediad newydd gyda Google, o fewn yr ydym yn trosglwyddo rhannau o'n seilwaith data ar Google Cloud Platform (GCP). Daethom i'r casgliad bod offer Google Cloud Data Mawr yn gallu ein helpu yn ein mentrau i ddemocrateiddio dadansoddi, delweddu a dysgu peirianyddol ar Twitter:

  • BigQuery: warws data menter gydag injan SQL yn seiliedig Dremel, sy'n enwog am ei gyflymder, ei symlrwydd ac mae'n ymdopi ag ef dysgu peirianyddol.
  • stiwdio data: offeryn delweddu data mawr gyda nodweddion cydweithredu fel Google Docs.

Yn yr erthygl hon, byddwch yn dysgu am ein profiad gyda'r offer hyn: yr hyn yr ydym wedi'i wneud, yr hyn yr ydym wedi'i ddysgu a'r hyn y byddwn yn ei wneud nesaf. Byddwn nawr yn canolbwyntio ar ddadansoddeg swp a rhyngweithiol. Bydd dadansoddeg amser real yn cael ei drafod yn yr erthygl nesaf.

Hanes Warysau Data ar Twitter

Cyn plymio i BigQuery, mae'n werth ailadrodd yn fyr hanes warysau data ar Twitter. Yn 2011, cynhaliwyd dadansoddiad data Twitter yn Vertica a Hadoop. I greu swyddi MapReduce Hadoop, fe wnaethon ni ddefnyddio Pig. Yn 2012, fe wnaethom ddisodli Pig â Sgalding, a oedd â API Scala gyda buddion megis y gallu i greu piblinellau cymhleth a rhwyddineb profi. Fodd bynnag, i lawer o ddadansoddwyr data a rheolwyr cynnyrch a oedd yn fwy cyfforddus yn gweithio gyda SQL, roedd yn gromlin ddysgu eithaf serth. Tua 2016, fe ddechreuon ni ddefnyddio Presto fel ein pen blaen SQL ar gyfer data Hadoop. Cynigiodd Spark ryngwyneb Python sy'n ei wneud yn ddewis da ar gyfer gwyddor data ad hoc a dysgu peiriannau.

Ers 2018, rydym wedi defnyddio’r offer canlynol ar gyfer dadansoddi data a delweddu:

  • Sgaldio ar gyfer llinellau cynhyrchu
  • Sgaldio a Spark ar gyfer dadansoddeg data ad hoc a dysgu peirianyddol
  • Vertica a Presto ar gyfer dadansoddiad SQL ad hoc a rhyngweithiol
  • Druid ar gyfer mynediad rhyngweithiol, archwiliadol a hwyrni isel i fetrigau cyfres amser
  • Tableau, Zeppelin a Pivot ar gyfer Delweddu Data

Er bod yr offer hyn yn cynnig nodweddion pwerus iawn, rydym wedi cael anhawster i sicrhau bod y nodweddion hyn ar gael i gynulleidfa ehangach ar Twitter. Trwy ymestyn ein platfform gyda Google Cloud, rydym yn canolbwyntio ar symleiddio ein hoffer dadansoddi ar gyfer Twitter i gyd.

Warws Data BigQuery Google

Mae sawl tîm yn Twitter eisoes wedi cynnwys BigQuery yn rhai o'u piblinellau cynhyrchu. Gan ddefnyddio eu profiad, fe ddechreuon ni werthuso posibiliadau BigQuery ar gyfer pob achos defnydd Twitter. Ein nod oedd cynnig BigQuery i'r cwmni cyfan, a'i safoni a'i gefnogi o fewn y pecyn cymorth Platfform Data. Roedd hyn yn anodd am lawer o resymau. Roedd angen i ni ddatblygu seilwaith i dderbyn symiau mawr o ddata yn ddibynadwy, cefnogi rheoli data ar draws y cwmni, sicrhau rheolaethau mynediad priodol, a sicrhau preifatrwydd cwsmeriaid. Roedd yn rhaid i ni hefyd greu systemau ar gyfer dyrannu adnoddau, monitro, ac ad-daliadau er mwyn i dimau allu defnyddio BigQuery yn effeithiol.

Ym mis Tachwedd 2018, gwnaethom ryddhau datganiad alffa o BigQuery a Data Studio ar gyfer y cwmni cyfan. Rydyn ni wedi cynnig rhai o'n taenlenni cliriad data personol a ddefnyddir fwyaf i staff Twitter. Mae BigQuery wedi cael ei ddefnyddio gan dros 250 o ddefnyddwyr o wahanol dimau gan gynnwys peirianneg, cyllid a marchnata. Yn fwyaf diweddar, roeddent yn rhedeg tua 8 o geisiadau, yn prosesu tua 100 PB y mis, heb gyfrif ceisiadau a drefnwyd. Ar ôl derbyn adborth cadarnhaol iawn, penderfynom symud ymlaen a chynnig BigQuery fel y prif adnodd ar gyfer rhyngweithio â data ar Twitter.

Dyma ddiagram o bensaernïaeth lefel uchel ein warws data Google BigQuery.

Sut y gwnaeth BigQuery Google ddemocrateiddio dadansoddi data. Rhan 1
Rydym yn copïo data o glystyrau Hadoop lleol i Google Cloud Storage (GCS) gan ddefnyddio'r offeryn Cloud Replicator mewnol. Yna rydym yn defnyddio Apache Airflow i greu piblinellau sy'n defnyddio "bq_llwyth» llwytho data o GCS i BigQuery. Rydym yn defnyddio Presto i gwestiynu setiau data Parquet neu Thrift-LZO yn GCS. Offeryn Sgaldio mewnol yw BQ Blaster ar gyfer llwytho setiau data HDFS Vertica a Thrift-LZO i BigQuery.

Yn yr adrannau a ganlyn, byddwn yn trafod ein hymagwedd a'n harbenigedd o ran rhwyddineb defnydd, perfformiad, rheoli data, iechyd system, a chost.

Rhwyddineb defnydd

Gwelsom ei bod yn hawdd i ddefnyddwyr ddechrau gyda BigQuery gan nad oedd angen gosod meddalwedd arno a gallai defnyddwyr gael mynediad ato trwy ryngwyneb gwe greddfol. Fodd bynnag, roedd angen i ddefnyddwyr ddod yn gyfarwydd â rhai o nodweddion a chysyniadau'r GCP, gan gynnwys adnoddau megis prosiectau, setiau data, a thablau. Rydym wedi datblygu tiwtorialau a thiwtorialau i helpu defnyddwyr i ddechrau. Gyda dealltwriaeth sylfaenol a gafwyd, mae'n hawdd i ddefnyddwyr lywio setiau data, gweld data sgema a thabl, rhedeg ymholiadau syml, a delweddu canlyniadau yn Data Studio.

Ein nod gyda mewnbynnu data yn BigQuery oedd darparu llwytho di-dor o setiau data HDFS neu GCS gydag un clic. Ystyriasom Cyfansoddwr Cwmwl (a reolir gan Airflow) ond nid oeddent yn gallu ei ddefnyddio oherwydd ein model diogelwch "Rhannu Cyfyngedig Parth" (mwy am hyn yn yr adran Rheoli Data isod). Fe wnaethon ni arbrofi gyda defnyddio Gwasanaeth Trosglwyddo Data Google (DTS) i drefnu tasgau llwyth BigQuery. Er bod DTS yn gyflym i'w sefydlu, nid oedd yn hyblyg ar gyfer adeiladu piblinellau gyda dibyniaethau. Ar gyfer ein datganiad alffa, rydym wedi creu ein hamgylchedd Llif Awyr Apache ein hunain yn TAG ac yn ei baratoi ar gyfer cynhyrchu a'r gallu i gefnogi mwy o ffynonellau data megis Vertica.

I drawsnewid data yn BigQuery, mae defnyddwyr yn creu piblinellau data SQL syml gan ddefnyddio ymholiadau a drefnwyd. Ar gyfer piblinellau aml-gam cymhleth gyda dibyniaethau, rydym yn bwriadu defnyddio naill ai ein fframwaith Llif Awyr ein hunain neu Cloud Composer ynghyd â Dataflow Cloud.

Cynhyrchiant

Mae BigQuery wedi'i gynllunio ar gyfer ymholiadau SQL pwrpas cyffredinol sy'n prosesu symiau mawr o ddata. Nid yw wedi'i fwriadu ar gyfer yr ymholiadau hwyrni isel, trwybwn uchel sy'n ofynnol gan gronfa ddata trafodion, na'r dadansoddiad cyfres amser hwyrni isel a weithredir gan Derwydd Apache. Ar gyfer ymholiadau dadansoddol rhyngweithiol, mae ein defnyddwyr yn disgwyl amser ymateb o lai na munud. Roedd yn rhaid i ni ddylunio'r defnydd o BigQuery i fodloni'r disgwyliadau hyn. Er mwyn darparu perfformiad rhagweladwy ar gyfer ein defnyddwyr, rydym wedi defnyddio swyddogaeth BigQuery, sydd ar gael i gwsmeriaid ar sail ffi sefydlog, sy'n caniatáu i berchnogion prosiectau gadw isafswm slotiau ar gyfer eu hymholiadau. Y slot Mae BigQuery yn uned o bŵer cyfrifiadurol sydd ei angen i gyflawni ymholiadau SQL.

Dadansoddwyd dros 800 o ymholiadau gennym yn prosesu tua 1 TB o ddata yr un a chanfuwyd mai 30 eiliad oedd yr amser cyflawni ar gyfartaledd. Dysgom hefyd fod perfformiad yn ddibynnol iawn ar y defnydd o'n slot mewn amrywiol brosiectau a thasgau. Roedd yn rhaid i ni wahanu ein cronfeydd cynhyrchu a slotiau ad hoc yn glir er mwyn cynnal perfformiad ar gyfer achosion defnydd cynhyrchu a dadansoddiad rhyngweithiol. Dylanwadodd hyn yn fawr ar ein cynllun ar gyfer cadw slotiau a hierarchaethau prosiect.

Byddwn yn siarad am reoli data, ymarferoldeb a chost systemau yn y dyddiau nesaf yn ail ran y cyfieithiad, ac yn awr rydym yn gwahodd pawb i gweminar byw am ddim, lle gallwch ddysgu mwy am y cwrs, yn ogystal â gofyn cwestiynau i'n harbenigwr - Egor Mateshuk (Uwch Beiriannydd Data, MaximaTelecom).

Darllen mwy:

Ffynhonnell: hab.com

Ychwanegu sylw