Cume BigQuery di Google hà demucratizatu l'analisi di dati. Parte 1

Ehi Habr! L'iscrizzione per un novu flussu di cursu hè aperta à OTUS avà Ingegnere di dati. In anticipazione di l'iniziu di u corsu, avemu tradiziunale preparatu una traduzzione di materiale interessante per voi.

Ogni ghjornu, più di centu milioni di persone visitanu Twitter per sapè ciò chì succede in u mondu è discute. Ogni tweet è ogni altra azzione di l'utilizatori genera un avvenimentu chì hè dispunibule per l'analisi di dati internu in Twitter. Centinaie d'impiegati analizzanu è visualizeghjanu queste dati, è migliurà a so sperienza hè una priorità per a squadra di Twitter Data Platform.

Cridemu chì l'utilizatori cù una larga gamma di cumpetenze tecniche deve esse capace di truvà dati è avè accessu à l'analisi è di visualizazione basati in SQL chì funzionanu bè. Questu permetterà à un novu gruppu di utilizatori menu tecnichi, cumpresi l'analista di dati è i gestori di produttu, per caccià insights da e dati, chì li permettenu di capisce megliu è aduprà u putere di Twitter. Hè cusì chì demucratizemu l'analisi di dati in Twitter.

Cume i nostri arnesi è capacità per l'analisi di dati internu anu migliuratu, avemu vistu a migliione di u serviziu di Twitter. Tuttavia, ci hè sempre spaziu per migliurà. Strumenti attuali cum'è Scalding necessitanu sperienza di prugrammazione. Strumenti di analisi basati in SQL cum'è Presto è Vertica anu prublemi di rendiment à grande scala. Avemu ancu un prublema cù a distribuzione di dati in parechje sistemi senza accessu constante à questu.

L'annu passatu avemu annunziatu nova cullaburazione cù Google, in u quali avemu trasfiriri parti di u nostru infrastruttura di dati nantu à a piattaforma Google Cloud (GCP). Avemu cunclusu chì i strumenti Google Cloud Big Data ci pò aiutà in e nostre iniziative per demucratizà l'analisi, a visualizazione è l'apprendimentu automaticu in Twitter:

  • bigquery: magazzinu di dati di l'impresa cù u mutore SQL basatu Dremel, chì hè famosu per a so rapidità, simplicità è copes machine learning.
  • studio di dati: Strumentu di visualizazione di big data cù funzioni di cullaburazione cum'è Google Docs.

In questu articulu, amparate nantu à a nostra sperienza cù questi strumenti: ciò chì avemu fattu, ciò chì avemu amparatu è ciò chì faremu dopu. Ora ci concentreremu nantu à l'analitiche batch è interattive. L'analitiche in tempu reale seranu discutute in u prossimu articulu.

A Storia di Data Warehouses in Twitter

Prima di tuffà in BigQuery, vale a pena di ricuperà brevemente a storia di i magazzini di dati in Twitter. In u 2011, l'analisi di dati Twitter hè stata realizata in Vertica è Hadoop. Per creà impieghi MapReduce Hadoop, avemu usatu Pig. In u 2012, avemu rimpiazzatu Pig with Scalding, chì avia una API Scala cù benefici cum'è a capacità di creà pipeline cumplessi è facilità di teste. Tuttavia, per parechji analisti di dati è gestori di prudutti chì eranu più còmode di travaglià cù SQL, era una curva d'apprendimentu abbastanza ripida. Circa 2016, avemu cuminciatu à aduprà Presto cum'è u nostru front end SQL per i dati Hadoop. Spark offre una interfaccia Python chì a face una bona scelta per a scienza di dati ad hoc è l'apprendimentu machine.

Dapoi u 2018, avemu usatu i seguenti strumenti per l'analisi è a visualizazione di dati:

  • Scalding per e linee di produzzione
  • Scalding è Spark per l'analisi di dati ad hoc è l'apprendimentu machine
  • Vertica è Presto per l'analisi SQL ad hoc è interattiva
  • Druid per un accessu interattivu bassu, esplorativu è di bassa latenza à e metriche di serie temporale
  • Tableau, Zeppelin è Pivot per a visualizazione di dati

Avemu trovu chì, mentri sti strumenti offrenu funzioni assai putenti, avemu avutu difficultà per rende queste funzioni dispunibuli à un publicu più largu in Twitter. Estendendu a nostra piattaforma cù Google Cloud, ci focalizemu à simplificà i nostri strumenti di analisi per tuttu Twitter.

BigQuery Data Warehouse di Google

Diversi squadre in Twitter anu digià inclusu BigQuery in alcuni di i so pipeline di produzzione. Utilizendu a so sperienza, avemu cuminciatu à valutà e pussibilità di BigQuery per tutti i casi d'usu di Twitter. U nostru scopu era di offre BigQuery à l'intera cumpagnia, è di standardizà è sustene in u toolkit di a piattaforma di dati. Questu era difficiule per parechje ragioni. Avemu bisognu di sviluppà una infrastruttura per riceve in modu affidabile grandi quantità di dati, sustene a gestione di dati in tutta a cumpagnia, assicurà cuntrolli d'accessu adattati, è assicurà a privacy di i clienti. Avemu avutu ancu à creà sistemi per l'allocazione di risorse, u monitoraghju è i chargebacks in modu chì e squadre puderanu aduprà BigQuery in modu efficace.

In nuvembre 2018, avemu liberatu una versione alfa di BigQuery è Data Studio per tutta a cumpagnia. Avemu prupostu alcuni di i nostri fogli di calculu di dati persunali più usati à u persunale di Twitter. BigQuery hè stata utilizata da più di 250 utilizatori di diverse squadre cumprese l'ingegneria, a finanza è u marketing. A più recente, stavanu eseguendu circa 8 richieste, trasfurmendu circa 100 PB per mese, senza cuntà e richieste pianificate. Dopu avè ricivutu un feedback assai pusitivu, avemu decisu di avanzà è offre BigQuery cum'è a risorsa primaria per interagisce cù e dati in Twitter.

Eccu un diagramma di l'architettura d'altu livellu di u nostru magazzinu di dati Google BigQuery.

Cume BigQuery di Google hà demucratizatu l'analisi di dati. Parte 1
Copiemu dati da clusters Hadoop lucali à Google Cloud Storage (GCS) utilizendu l'uttellu internu di Cloud Replicator. Dopu usemu Apache Airflow per creà pipeline chì utilizanu "bq_load» per carica dati da GCS in BigQuery. Utilizemu Presto per interrogà i datasets Parquet o Thrift-LZO in GCS. BQ Blaster hè un strumentu internu di Scalding per caricare i set di dati HDFS Vertica è Thrift-LZO in BigQuery.

In e sezioni seguenti, discuteremu u nostru approcciu è a cumpetenza in facilità d'usu, prestazioni, gestione di dati, salute di u sistema è costu.

Facilità di usu

Avemu trovu chì era faciule per l'utilizatori di principià cù BigQuery postu chì ùn hà micca bisognu di installazione di software è l'utilizatori puderanu accede à traversu una interfaccia web intuitiva. Tuttavia, l'utilizatori avianu bisognu di familiarizà cù alcune di e funzioni è cuncetti GCP, cumprese risorse cum'è prughjetti, datasets, è tavule. Avemu sviluppatu tutoriali è tutoriali per aiutà l'utilizatori à inizià. Cù una cunniscenza di basa acquistata, hè faciule per l'utilizatori navigà in set di dati, vede schemi è dati di tabella, eseguite dumande simplici, è visualizà risultati in Data Studio.

U nostru scopu cù l'ingressu di dati in BigQuery era di furnisce un caricamentu senza saldatura di set di dati HDFS o GCS cun un solu clic. Avemu cunsideratu Nuvola cumpusitore (gestitu da Airflow) ma ùn anu pussutu aduprà per via di u nostru mudellu di sicurezza "Domain Restricted Sharing" (più nantu à questu in a sezione di Gestione di Dati sottu). Avemu sperimentatu cù u serviziu di trasferimentu di dati di Google (DTS) per urganizà e attività di carica di BigQuery. Mentre DTS era prestu à stallà, ùn era micca flexible per a custruzzione di pipelines cù dipendenze. Per a nostra liberazione alfa, avemu creatu u nostru propiu ambiente Apache Airflow in GCE è u preparanu per a produzzione è a capacità di supportà più fonti di dati cum'è Vertica.

Per trasfurmà e dati in BigQuery, l'utilizatori creanu pipeline di dati SQL simplici utilizendu dumande pianificate. Per i pipelines cumplessi multi-stadi cù dipendenze, avemu pensatu à utilizà sia u nostru propiu framework Airflow o Cloud Composer inseme cù Flussu di Dati di Nuvola.

Produttività

BigQuery hè pensatu per e dumande SQL di scopu generale chì processanu grandi quantità di dati. Ùn hè micca cuncepitu per a bassa latenza, e dumande di altu throughput richieste da una basa di dati transazzione, o l'analisi di serie temporale di bassa latenza implementata. Apache Druid. Per e dumande analitiche interattive, i nostri utilizatori aspettanu un tempu di risposta di menu di un minutu. Avemu avutu à cuncepisce l'usu di BigQuery per risponde à queste aspettative. Per furnisce un rendiment prevedibile per i nostri utilizatori, avemu usatu a funziunalità di BigQuery, chì hè dispunibule per i clienti nantu à una basa di tariffu fissu, chì permette à i prupietarii di prughjetti di riservà slot minimi per e so dumande. A slot BigQuery hè una unità di putenza informatica necessaria per eseguisce dumande SQL.

Avemu analizatu più di 800 dumande chì processanu circa 1 TB di dati ognunu è truvamu chì u tempu mediu di esecuzione era di 30 seconde. Avemu ancu amparatu chì u rendiment hè assai dipendente da l'usu di u nostru slot in diversi prughjetti è travaglii. Avemu avutu a separà chjaramente a nostra pruduzzione è e riserve di slot ad hoc per mantene a prestazione per i casi d'usu di produzzione è l'analisi interattiva. Questu hà influenzatu assai u nostru disignu per e riservazioni di slot è e gerarchie di prughjettu.

Parleremu di gestione di dati, funziunalità è costu di i sistemi in i ghjorni à vene in a seconda parte di a traduzzione, è avà invitamu tutti à webinar live gratuitu, induve pudete amparà più nantu à u corsu, è ancu dumandà dumande à u nostru espertu - Egor Mateshuk (Senior Data Engineer, MaximaTelecom).

Leghjite più:

Source: www.habr.com

Add a comment