Wéi Google's BigQuery Datenanalyse demokratiséiert. Deel 1

Moien, Habr! Aschreiwung fir en neie Cours Stream ass elo op OTUS op Daten Ingenieur. Am Viraus op den Ufank vum Cours hu mir traditionell eng Iwwersetzung vun interessant Material fir Iech virbereet.

All Dag besichen méi wéi honnert Millioune Leit Twitter fir erauszefannen wat an der Welt geschitt an doriwwer diskutéieren. All Tweet an all aner Benotzeraktioun generéiert en Event dat verfügbar ass fir Twitter intern Datenanalyse. Honnerte vu Mataarbechter analyséieren a visualiséieren dës Donnéeën, an hir Erfahrung verbesseren ass eng Haaptprioritéit fir d'Twitter Data Plattform Team.

Mir gleewen datt Benotzer mat enger breet Palette vun technesche Fäegkeeten fäeg sinn Daten z'entdecken an Zougang zu gutt performant SQL-baséiert Analyse- a Visualiséierungsinstrumenter ze hunn. Dëst erlaabt eng ganz nei Grupp vu manner technesche Benotzer, dorënner Datenanalytiker a Produktmanager, Abléck aus Daten ze extrahieren, wat hinnen erlaabt d'Fähigkeiten vun Twitter besser ze verstoen an ze benotzen. Dëst ass wéi mir Datenanalyse op Twitter demokratiséieren.

Wéi eis Tools an intern Datenanalysefäegkeeten verbessert hunn, hu mir Twitter gesinn verbesseren. Et gëtt awer nach Plaz fir Verbesserung. Aktuell Tools wéi Scalding erfuerderen Programméiererfahrung. SQL-baséiert Analyse Tools wéi Presto a Vertica hunn Performanceprobleemer op Skala. Mir hunn och de Problem fir Daten iwwer verschidde Systemer ze verdeelen ouni konstanten Zougang zu hinnen.

D'lescht Joer hu mir ugekënnegt nei Zesummenaarbecht mat Google, an deem mir Deeler vun eisem daten Infrastruktur op Google Cloud Plattform (GCP). Mir hunn ofgeschloss datt Google Cloud Tools Big Data kann eis hëllefen mat eisen Initiativen fir Analysen, Visualiséierung a Maschinnléieren op Twitter ze demokratiséieren:

  • bigquery: Enterprise Datelager mat SQL-Motor baséiert Dremel, déi berühmt ass fir seng Geschwindegkeet, Einfachheet a Copes mat Maschinn Léieren.
  • Data Studio: Big Data Visualiséierungsinstrument mat Google Docs-ähnlechen Zesummenaarbecht Features.

An dësem Artikel léiert Dir iwwer eis Erfahrung mat dësen Tools: wat mir gemaach hunn, wat mir geléiert hunn a wat mir duerno wäerte maachen. Mir konzentréieren eis elo op Batch an interaktiv Analyse. Mir wäerten Echtzäitanalysen am nächsten Artikel diskutéieren.

Geschicht vun Twitter Data Stores

Ier Dir an BigQuery daucht, ass et derwäert kuerz d'Geschicht vum Twitter Datelager ze erzielen. Am Joer 2011 gouf Twitter Datenanalyse a Vertica an Hadoop gemaach. Mir hunn Pig benotzt fir MapReduce Hadoop Aarbechtsplazen ze kreéieren. Am 2012 hu mir Pig mat Scalding ersat, deen e Scala API hat mat Virdeeler wéi d'Fäegkeet fir komplex Pipelines ze kreéieren an d'Liichtegkeet ze testen. Wéi och ëmmer, fir vill Datenanalyten a Produktmanager, déi méi bequem mat SQL schaffen, war et eng zimlech steil Léierkurve. Ëm 2016 hu mir ugefaang Presto als SQL Interface fir Hadoop Daten ze benotzen. Spark huet e Python Interface ugebueden, wat et e gudde Choix mécht fir ad hoc Datewëssenschaft a Maschinnléieren.

Zënter 2018 hu mir déi folgend Tools fir Datenanalyse a Visualiséierung benotzt:

  • Scalding fir Produktioun conveyors
  • Scalding a Spark fir ad hoc Datenanalyse a Maschinnléieren
  • Vertica a Presto fir ad hoc an interaktiv SQL Analyse
  • Druid fir niddereg interaktiv, explorativ a geréng latency Zougang zu Zäitserie Metriken
  • Tableau, Zeppelin a Pivot fir Datenvisualiséierung

Mir hu fonnt datt wärend dës Tools ganz mächteg Fäegkeeten ubidden, mir Schwieregkeeten haten dës Fäegkeeten fir e méi breede Publikum op Twitter verfügbar ze maachen. Andeems mir eis Plattform mat Google Cloud ausbauen, konzentréiere mir eis op d'Vereinfachung vun eiser Analystools fir all Twitter.

Google's BigQuery Data Warehouse

Verschidde Teams op Twitter hu scho BigQuery an e puer vun hire Produktiounspipelines integréiert. Mat hirer Expertise hu mir ugefaang d'Kapazitéite vu BigQuery fir all Twitter Benotzungsfäll ze evaluéieren. Eist Zil war BigQuery fir d'ganz Firma ze bidden an et am Data Plattform Toolset ze standardiséieren an z'ënnerstëtzen. Dëst war schwéier aus ville Grënn. Mir hu missen eng Infrastruktur entwéckelen fir zouverlässeg grouss Volumen vun Daten z'erhalen, d'Firma-breet Datemanagement z'ënnerstëtzen, adäquate Zougangskontrollen ze garantéieren, a Client Privatsphär ze garantéieren. Mir hunn och Systemer fir Ressourceallokatioun, Iwwerwaachung a Chargebacks missen erstellen fir datt Teams BigQuery effektiv benotze kënnen.

Am November 2018 hu mir eng Firma-breet Alpha Verëffentlechung vu BigQuery an Data Studio verëffentlecht. Mir hunn Twitter Mataarbechter e puer vun eise meescht benotzte Spreadsheets mat gebotzten perséinlechen Donnéeën ugebueden. BigQuery gouf vun iwwer 250 Benotzer aus enger Rei vun Teams benotzt, dorënner Ingenieur, Finanzen a Marketing. Zënter kuerzem hu se ongeféier 8k Ufroe lafen, ongeféier 100 PB pro Mount veraarbecht, net geplangten Ufroe zielen. Nodeems mir e ganz positive Feedback kritt hunn, hu mir beschloss no vir ze goen an BigQuery als primär Ressource ze bidden fir mat Daten op Twitter ze interagéieren.

Hei ass en Héichniveau Diagramm vun eiser Google BigQuery Datelagerarchitektur.

Wéi Google's BigQuery Datenanalyse demokratiséiert. Deel 1
Mir kopéieren Daten vun on-premises Hadoop Cluster op Google Cloud Storage (GCS) mam internen Cloud Replicator Tool. Mir benotzen dann Apache Airflow fir Pipelines ze kreéieren déi "bq_lueden» fir Daten vu GCS an BigQuery ze lueden. Mir benotzen Presto fir Parquet oder Thrift-LZO Datensätz a GCS ze froen. BQ Blaster ass en internt Scalding-Tool fir HDFS Vertica an Thrift-LZO Datesätz an BigQuery ze lueden.

An de folgende Rubriken diskutéiere mir eis Approche an Expertise an de Beräicher vun einfacher Benotzung, Leeschtung, Datemanagement, Systemgesondheet a Käschten.

Einfacher Benotzung

Mir hunn erausfonnt datt et einfach war fir d'Benotzer mat BigQuery unzefänken well et keng Softwareinstallatioun erfuerdert an d'Benotzer et duerch eng intuitiv Webinterface zougräifen. Wéi och ëmmer, d'Benotzer musse mat e puer vun de Funktiounen a Konzepter vum GCP vertraut ginn, dorënner Ressourcen wéi Projeten, Datesätz an Dëscher. Mir hunn pädagogesch Materialien an Tutorials entwéckelt fir d'Benotzer ze hëllefen unzefänken. Mat engem gewonnene Basisverständnis hunn d'Benotzer et einfach fonnt Datesets ze navigéieren, Schema- an Tabelldaten ze gesinn, einfach Ufroen auszeféieren, a Resultater am Data Studio visualiséieren.

Eist Zil fir Dateentrée an BigQuery war et eng nahtlos Luede vun HDFS oder GCS Datesätz mat engem Klick z'erméiglechen. Mir betruecht Cloud Komponist (geréiert vum Airflow) awer konnten et net benotzen wéinst eisem Domain Restricted Sharing Sécherheetsmodell (méi iwwer dëst an der Datemanagement Sektioun hei ënnen). Mir hunn experimentéiert mam Google Data Transfer Service (DTS) ze benotzen fir BigQuery Workloads ze orchestréieren. Wärend DTS séier opgeriicht war, war et net flexibel fir Pipelines mat Ofhängegkeeten ze bauen. Fir eis Alpha Verëffentlechung hu mir eisen eegene Apache Airflow Kader am GCE gebaut a preparéiere se fir an der Produktioun ze lafen a kënnen méi Datequellen wéi Vertica z'ënnerstëtzen.

Fir Daten an BigQuery ze transforméieren, erstellen d'Benotzer einfach SQL Datenpipelines mat geplangten Ufroen. Fir komplex Multi-Stage Pipelines mat Ofhängegkeete plangen mir entweder eisen eegene Airflow Kader oder Cloud Composer ze benotzen Cloud Dataflow.

Produktivitéit

BigQuery ass fir allgemeng Zweck SQL Ufroen entworf déi grouss Quantitéiten un Daten veraarbecht. Et ass net geduecht fir déi geréng Latenz, héich Duerchput Ufroen, déi vun enger Transaktiounsdatenbank erfuerderlech sinn, oder fir déi geréng latency Zäitserieanalyse implementéiert Apache Druid. Fir interaktiv analytesch Ufroen erwaarden eis Benotzer Äntwertzäite vu manner wéi enger Minutt. Mir hunn eis Notzung vu BigQuery missen designen fir dës Erwaardungen z'erreechen. Fir prévisibel Leeschtung fir eis Benotzer ze bidden, hu mir d'BigQuery Funktionalitéit profitéiert, verfügbar fir Clienten op enger flaacher Basis, déi Projetsbesëtzer erlaabt Minimum Plaze fir hir Ufroen ze reservéieren. Slot BigQuery ass eng Eenheet vu Rechenkraaft erfuerderlech fir SQL Ufroen auszeféieren.

Mir hunn iwwer 800 Ufroen analyséiert, déi all ongeféier 1 TB vun Daten veraarbecht hunn a fonnt hunn datt déi duerchschnëttlech Ausféierungszäit 30 Sekonnen war. Mir hunn och geléiert datt d'Performance héich ofhängeg vun der Notzung vun eisem Slot a verschiddene Projeten an Aufgaben ass. Mir hunn eis Produktioun an ad hoc Slot Reserven kloer ze delineéieren fir d'Performance fir Produktiounsgebrauchsfäll an Online Analyse z'erhalen. Dëst staark beaflosst eisen Design fir Slot Reservatiounen a Projet Hierarchie.

Mir schwätzen iwwer Datemanagement, Funktionalitéit a Käschte vun Systemer an den nächsten Deeg am zweeten Deel vun der Iwwersetzung, awer elo invitéiere mir jiddereen op fräi liewen Webinar, während deem Dir am Detail iwwer de Cours léiere kënnt, wéi och Froen un eisen Expert stellen - Egor Mateshuk (Senior Data Engineer, MaximaTelecom).

Liest méi:

Source: will.com

Setzt e Commentaire