Jak BigQuery od Googlu demokratizoval analýzu dat. Část 1

Čau Habr! Přihlašování do nového streamu kurzu je na OTUS právě otevřeno datový inženýr. V očekávání zahájení kurzu jsme pro vás již tradičně připravili překlad zajímavého materiálu.

Každý den navštíví Twitter přes sto milionů lidí, aby zjistili, co se děje ve světě a diskutovali o tom. Každý tweet a jakákoli další uživatelská akce generuje událost, která je k dispozici pro interní analýzu dat v rámci Twitteru. Stovky zaměstnanců analyzují a vizualizují tato data a zlepšování jejich zkušeností je pro tým Twitter Data Platform hlavní prioritou.

Jsme přesvědčeni, že uživatelé s širokou škálou technických dovedností by měli být schopni najít data a mít přístup k dobře fungujícím nástrojům pro analýzu a vizualizaci na bázi SQL. To by umožnilo zcela nové skupině méně technických uživatelů, včetně datových analytiků a produktových manažerů, získávat poznatky z dat, což by jim umožnilo lépe porozumět a využívat sílu Twitteru. Takto demokratizujeme analýzu dat na Twitteru.

Jak se naše nástroje a možnosti pro interní analýzu dat zlepšily, zaznamenali jsme zlepšení služby Twitter. Stále je však co zlepšovat. Současné nástroje jako Scalding vyžadují zkušenosti s programováním. Analytické nástroje založené na SQL, jako jsou Presto a Vertica, mají problémy s výkonem ve velkém měřítku. Máme také problém s distribucí dat napříč více systémy bez neustálého přístupu k nim.

Minulý rok jsme oznámili nová spolupráce se společností Google, v rámci kterého přenášíme části našeho datová infrastruktura na platformě Google Cloud Platform (GCP). Došli jsme k závěru, že nástroje Google Cloud Big dat nám může pomoci v našich iniciativách k demokratizaci analýzy, vizualizace a strojového učení na Twitteru:

  • BigQuery: podnikový datový sklad s SQL enginem Dremel, který je pověstný svou rychlostí, jednoduchostí a poradí si s strojové učení.
  • datové studio: nástroj pro vizualizaci velkých dat s funkcemi pro spolupráci, jako jsou Dokumenty Google.

V tomto článku se dozvíte o našich zkušenostech s těmito nástroji: co jsme udělali, co jsme se naučili a co budeme dělat dál. Nyní se zaměříme na dávkovou a interaktivní analýzu. Analýze v reálném čase se budeme věnovat v dalším článku.

Historie datových skladů na Twitteru

Než se vrhneme na BigQuery, vyplatí se krátce převyprávět historii datových skladů na Twitteru. V roce 2011 byla provedena analýza dat Twitteru ve Vertica a Hadoop. K vytvoření úloh MapReduce Hadoop jsme použili Pig. V roce 2012 jsme nahradili Pig za Scalding, který měl Scala API s výhodami, jako je schopnost vytvářet složité kanály a snadné testování. Pro mnoho datových analytiků a produktových manažerů, kterým více vyhovovala práce s SQL, to však byla poměrně strmá křivka učení. Kolem roku 2016 jsme začali používat Presto jako náš SQL frontend pro data Hadoop. Spark nabídl rozhraní Pythonu, díky kterému je dobrou volbou pro ad hoc datovou vědu a strojové učení.

Od roku 2018 používáme pro analýzu a vizualizaci dat tyto nástroje:

  • Opaření pro výrobní linky
  • Scalding a Spark pro ad hoc analýzu dat a strojové učení
  • Vertica a Presto pro ad hoc a interaktivní analýzu SQL
  • Druid pro málo interaktivní, průzkumný a nízkolatenční přístup k metrikám časových řad
  • Tableau, Zeppelin a Pivot pro vizualizaci dat

Zjistili jsme, že ačkoli tyto nástroje nabízejí velmi výkonné funkce, měli jsme potíže zpřístupnit tyto funkce širšímu publiku na Twitteru. Rozšířením naší platformy o Google Cloud se zaměřujeme na zjednodušení našich analytických nástrojů pro celý Twitter.

Google BigQuery Data Warehouse

Několik týmů na Twitteru již zahrnulo BigQuery do některých svých produkčních kanálů. S využitím jejich zkušeností jsme začali vyhodnocovat možnosti BigQuery pro všechny případy použití Twitteru. Naším cílem bylo nabídnout BigQuery celé společnosti a standardizovat a podporovat jej v rámci sady nástrojů Data Platform. To bylo obtížné z mnoha důvodů. Potřebovali jsme vyvinout infrastrukturu pro spolehlivý příjem velkého množství dat, podporu správy dat v rámci celé společnosti, zajištění řádného řízení přístupu a zajištění soukromí zákazníků. Museli jsme také vytvořit systémy pro alokaci zdrojů, monitorování a zpětné zúčtování, aby týmy mohly BigQuery efektivně využívat.

V listopadu 2018 jsme vydali alfa verzi BigQuery a Data Studio pro celou společnost. Zaměstnanci Twitteru jsme nabídli některé z našich nejpoužívanějších tabulek s vymazanými osobními údaji. BigQuery používá více než 250 uživatelů z různých týmů včetně inženýrství, financí a marketingu. V poslední době provozovali asi 8 100 požadavků, zpracovávali asi XNUMX PB měsíčně, nepočítaje v to plánované požadavky. Po obdržení velmi pozitivní zpětné vazby jsme se rozhodli pokročit vpřed a nabídnout BigQuery jako primární zdroj pro interakci s daty na Twitteru.

Zde je schéma vysoké úrovně architektury našeho datového skladu Google BigQuery.

Jak BigQuery od Googlu demokratizoval analýzu dat. Část 1
Data z místních clusterů Hadoop kopírujeme do úložiště Google Cloud Storage (GCS) pomocí interního nástroje Cloud Replicator. Poté použijeme Apache Airflow k vytvoření potrubí, která používají "bq_load» k načtení dat z GCS do BigQuery. Presto používáme k dotazování na datové sady Parquet nebo Thrift-LZO v GCS. BQ Blaster je interní nástroj Scalding pro načítání datových sad HDFS Vertica a Thrift-LZO do BigQuery.

V následujících částech probereme náš přístup a odborné znalosti v oblasti snadného použití, výkonu, správy dat, stavu systému a nákladů.

Snadné použití

Zjistili jsme, že pro uživatele bylo snadné začít s BigQuery, protože nevyžadoval instalaci softwaru a uživatelé k němu měli přístup prostřednictvím intuitivního webového rozhraní. Uživatelé se však potřebovali seznámit s některými funkcemi a koncepty GCP, včetně zdrojů, jako jsou projekty, datové sady a tabulky. Vyvinuli jsme výukové programy a výukové programy, které uživatelům pomohou začít. Díky základním znalostem mohou uživatelé snadno procházet datové sady, zobrazovat data schémat a tabulek, spouštět jednoduché dotazy a vizualizovat výsledky v Datovém studiu.

Naším cílem při zadávání dat v BigQuery bylo zajistit bezproblémové načítání datových sad HDFS nebo GCS jediným kliknutím. Zvažovali jsme Cloud Composer (spravováno společností Airflow), ale nemohli jej použít kvůli našemu bezpečnostnímu modelu „Sdílení s omezeným přístupem k doménám“ (více o tom v části Správa dat níže). Experimentovali jsme s použitím Google Data Transfer Service (DTS) k organizaci úloh načítání BigQuery. I když se DTS rychle nastavil, nebyl flexibilní pro vytváření kanálů se závislostmi. Pro naši alfa verzi jsme vytvořili vlastní prostředí Apache Airflow v GCE a připravujeme je pro produkci a schopnost podporovat více zdrojů dat, jako je Vertica.

K transformaci dat do BigQuery uživatelé vytvářejí jednoduché datové kanály SQL pomocí naplánovaných dotazů. Pro komplexní vícestupňová potrubí se závislostmi plánujeme použít buď náš vlastní rámec Airflow nebo Cloud Composer spolu s Cloudový datový tok.

Производительность

BigQuery je navržen pro obecné dotazy SQL, které zpracovávají velké množství dat. Není určeno pro dotazy s nízkou latencí, vysokou propustností vyžadované transakční databází nebo pro analýzu časových řad s nízkou latencí implementovanou Apache Druid. U interaktivních analytických dotazů naši uživatelé očekávají dobu odezvy kratší než jednu minutu. Museli jsme navrhnout použití BigQuery, abychom tato očekávání splnili. Abychom našim uživatelům zajistili předvídatelný výkon, použili jsme funkci BigQuery, která je zákazníkům k dispozici za fixní poplatek, což umožňuje vlastníkům projektů vyhradit si pro své dotazy minimální prostory. Slot BigQuery je jednotka výpočetního výkonu potřebná ke spouštění SQL dotazů.

Analyzovali jsme více než 800 dotazů zpracovávajících přibližně 1 TB dat a zjistili jsme, že průměrná doba provedení byla 30 sekund. Také jsme se dozvěděli, že výkon je velmi závislý na využití našeho slotu v různých projektech a úkolech. Museli jsme jasně oddělit naše produkční a ad hoc rezervy slotů, abychom zachovali výkon pro případy produkčního použití a interaktivní analýzy. To výrazně ovlivnilo náš návrh rezervace slotů a hierarchie projektů.

O správě dat, funkčnosti a ceně systémů budeme hovořit v následujících dnech v druhé části překladu a nyní všechny zveme na bezplatný živý webinář, kde se můžete dozvědět více o kurzu a také se zeptat našeho odborníka - Egora Mateshuka (Senior Data Engineer, MaximaTelecom).

Přečtěte si více:

Zdroj: www.habr.com

Přidat komentář