Kumaha BigQuery Google ngadémokrasikeun analisis data. Bagian 1

Halo, Habr! Pendaptaran pikeun aliran kursus anyar dibuka ayeuna di OTUS "Insinyur Data". Pikeun ngantisipasi mimiti kursus, kami sacara tradisional nyiapkeun tarjamahan bahan anu pikaresepeun pikeun anjeun.

Saban poé, leuwih ti saratus juta jalma nganjang ka Twitter pikeun manggihan naon anu lumangsung di dunya sarta ngabahas eta. Unggal tweet sareng unggal tindakan pangguna sanésna ngahasilkeun acara anu sayogi pikeun analisa data internal Twitter. Ratusan karyawan nganalisa sareng ngabayangkeun data ieu, sareng ningkatkeun pangalamanana mangrupikeun prioritas utama pikeun tim Twitter Data Platform.

Kami yakin yén pangguna anu gaduh rupa-rupa kaahlian téknis kedah tiasa mendakan data sareng gaduh aksés kana alat analisis sareng visualisasi basis SQL anu saé. Ieu bakal ngidinan grup anyar sakabeh pamaké kirang teknis, kaasup analis data sarta manajer produk, nimba wawasan tina data, sahingga aranjeunna pikeun hadé ngartos tur ngagunakeun kamampuhan Twitter urang. Ieu kumaha urang demokratisasi analytics data dina Twitter.

Nalika alat sareng kamampuan analitik data internal parantos ningkat, kami ningali Twitter ningkat. Tapi, masih aya rohangan pikeun perbaikan. Alat anu ayeuna sapertos Scalding peryogi pangalaman program. Alat analisis basis SQL sapertos Presto sareng Vertica gaduh masalah kinerja dina skala. Kami ogé ngagaduhan masalah nyebarkeun data dina sababaraha sistem tanpa aksés konstan kana éta.

Taun ka tukang kami ngumumkeun kolaborasi anyar jeung Google, di mana urang mindahkeun bagéan urang infrastruktur data dina Google Cloud Platform (GCP). Kami parantos nyimpulkeun yén alat Google Cloud Data badag tiasa ngabantosan kami kalayan inisiatif urang pikeun ngadémokrasikeun analytics, visualisasi, sareng pembelajaran mesin dina Twitter:

  • bigquery: gudang data perusahaan kalawan SQL engine dumasar Dremel, nu kasohor speed na, kesederhanaan jeung copes kalawan pembelajaran mesin.
  • Studio Data: alat visualisasi data badag kalawan fitur kolaborasi Google Docs-kawas.

Dina artikel ieu, anjeun bakal diajar ngeunaan pangalaman urang sareng alat ieu: naon anu urang laksanakeun, naon anu urang pelajari, sareng naon anu bakal urang laksanakeun salajengna. Urang ayeuna bakal difokuskeun angkatan sareng analytics interaktif. Urang bakal ngabahas analytics real-time dina artikel salajengna.

Sajarah Toko Data Twitter

Saméméh diving kana BigQuery, éta patut nyaritakeun sakeudeung sajarah gudang data Twitter. Dina 2011, analisa data Twitter dilakukeun dina Vertica sareng Hadoop. Kami nganggo Babi pikeun nyiptakeun padamelan MapReduce Hadoop. Dina 2012, urang ngagentos Babi sareng Scalding, anu ngagaduhan Scala API kalayan kauntungan sapertos kamampuan nyiptakeun pipa rumit sareng gampang diuji. Nanging, pikeun seueur analis data sareng manajer produk anu langkung nyaman damel sareng SQL, éta mangrupikeun kurva diajar anu lumayan. Kira-kira taun 2016, urang mimitian nganggo Presto salaku antarmuka SQL pikeun data Hadoop. Spark nawiskeun antarmuka Python, anu ngajantenkeun pilihan anu hadé pikeun élmu data ad hoc sareng pembelajaran mesin.

Kusabab 2018, kami parantos ngagunakeun alat-alat ieu pikeun analisis data sareng visualisasi:

  • Scalding pikeun conveyors produksi
  • Scalding sareng Spark pikeun analisis data ad hoc sareng pembelajaran mesin
  • Vertica sareng Presto pikeun ad hoc sareng analisis SQL interaktif
  • Druid pikeun aksés low interaktif, éksplorasi sareng latency low kana métrik séri waktos
  • Tableau, Zeppelin sareng Pivot pikeun visualisasi data

Urang manggihan yén bari parabot ieu nawiskeun kamampuhan anu pohara kuat, urang kungsi kasusah nyieun kamampuhan ieu sadia ka panongton lega on Twitter. Ku ngalegaan platform kami sareng Google Cloud, kami museurkeun kana nyederhanakeun alat analitik kami pikeun sadaya Twitter.

Gudang Data BigQuery Google

Sababaraha tim di Twitter parantos ngalebetkeun BigQuery kana sababaraha jalur produksina. Ngagunakeun kaahlian maranéhna, urang mimitian evaluate kamampuhan BigQuery pikeun sakabéh kasus pamakéan Twitter. Tujuan kami nyaéta pikeun nawiskeun BigQuery ka sakumna perusahaan sareng ngabakukeun sareng ngadukung éta dina toolset Data Platform. Ieu hésé pikeun loba alesan. Urang kedah ngembangkeun prasarana pikeun ngandelkeun jumlah data anu ageung, ngadukung manajemén data di sakumna perusahaan, mastikeun kadali aksés anu leres, sareng mastikeun privasi pelanggan. Urang ogé kudu nyieun sistem pikeun alokasi sumberdaya, ngawaskeun, sarta chargebacks ambéh tim bisa ngagunakeun BigQuery éféktif.

Dina Nopémber 2018, kami ngaluarkeun sékrési alfa BigQuery sareng Data Studio di sakumna perusahaan. Kami parantos nawiskeun ka karyawan Twitter sababaraha spreadsheet anu paling sering dianggo sareng data pribadi anu dibersihkeun. BigQuery parantos dianggo ku langkung ti 250 pangguna tina sababaraha tim kalebet rékayasa, kauangan sareng pamasaran. Paling anyar, aranjeunna ngajalankeun ngeunaan 8k requests, ngolah ngeunaan 100 PB per bulan, teu cacah requests dijadwalkeun. Saatos nampi eupan balik anu positif pisan, kami mutuskeun pikeun maju sareng nawiskeun BigQuery salaku sumber utama pikeun berinteraksi sareng data dina Twitter.

Ieu diagram tingkat luhur arsitektur gudang data Google BigQuery kami.

Kumaha BigQuery Google ngadémokrasikeun analisis data. Bagian 1
Kami nyalin data tina kluster Hadoop di premis ka Google Cloud Storage (GCS) nganggo alat Cloud Replicator internal. Urang teras nganggo Apache Airflow pikeun nyiptakeun pipa anu nganggo "bq_load»pikeun ngamuat data ti GCS kana BigQuery. Kami nganggo Presto pikeun naroskeun Parquet atanapi Thrift-LZO datasets dina GCS. BQ Blaster mangrupikeun alat Scalding internal pikeun ngamuat set data HDFS Vertica sareng Thrift-LZO kana BigQuery.

Dina bagian di handap ieu, urang bahas pendekatan sareng kaahlian urang dina widang betah pamakean, kinerja, manajemén data, kaséhatan sistem, sareng biaya.

Gampang panggunaan

Kami mendakan yén éta gampang pikeun pangguna ngamimitian sareng BigQuery sabab henteu ngabutuhkeun pamasangan parangkat lunak sareng pangguna tiasa ngaksésna ngalangkungan antarmuka wéb anu intuitif. Nanging, pangguna kedah akrab sareng sababaraha fitur sareng konsép GCP, kalebet sumber daya sapertos proyék, set data, sareng tabel. Kami parantos ngembangkeun bahan atikan sareng tutorial pikeun ngabantosan pangguna ngamimitian. Kalayan pamahaman dasar anu dimeunangkeun, pangguna mendakan gampang pikeun nganapigasi set data, ningali skéma sareng data tabel, ngajalankeun patarosan saderhana, sareng ngabayangkeun hasil dina Data Studio.

Tujuan kami pikeun asupkeun data kana BigQuery nyaéta pikeun ngaktipkeun loading mulus tina set data HDFS atanapi GCS ku hiji klik. Urang dianggap Komposer awan (dikelola ku Airflow) tapi henteu tiasa dianggo kusabab modél kaamanan Babagi Diwatesan Domain kami (langkung seueur ngeunaan ieu dina bagian Manajemén Data di handap). Kami ékspérimén nganggo Google Data Transfer Service (DTS) pikeun ngatur beban kerja BigQuery. Nalika DTS gancang disetél, éta henteu fleksibel pikeun ngawangun saluran pipa sareng katergantungan. Pikeun sékrési alfa kami, kami parantos ngawangun kerangka Apache Airflow sorangan di GCE sareng nuju nyiapkeun pikeun ngajalankeun produksi sareng tiasa ngadukung langkung seueur sumber data sapertos Vertica.

Pikeun ngarobah data kana BigQuery, pamaké nyieun jalur pipa data SQL basajan ngagunakeun queries dijadwalkeun. Pikeun jalur pipa multi-tahap anu kompleks sareng katergantungan, kami ngarencanakeun ngagunakeun kerangka Airflow sorangan atanapi Cloud Composer sareng Awan Dataflow.

kakuwatan keur ngasilkeun

BigQuery dirancang pikeun kaperluan umum query SQL nu ngolah jumlah badag data. Ieu henteu dimaksudkeun pikeun latency low, queries throughput tinggi diperlukeun ku database transactional, atawa pikeun latency low analisis runtuyan waktu dilaksanakeun. Apache Druid. Pikeun patarosan analitik interaktif, pangguna urang ngarepkeun waktos réspon kirang ti hiji menit. Urang kedah ngarancang panggunaan BigQuery pikeun nyumponan ekspektasi ieu. Pikeun nyadiakeun kinerja anu bisa diprediksi pikeun pamaké urang, kami leveraged fungsionalitas BigQuery, sadia pikeun konsumén dina dasar fee datar nu ngidinan boga proyék pikeun cadangan liang minimum pikeun queries maranéhanana. Éta slot BigQuery mangrupikeun unit kakuatan komputasi anu diperyogikeun pikeun ngalaksanakeun pamundut SQL.

Kami nganalisa langkung ti 800 patarosan ngolah sakitar 1 TB data masing-masing sareng mendakan yén waktos palaksanaan rata-rata 30 detik. Urang ogé diajar yén kinerja pisan gumantung kana pamakéan slot kami dina proyék béda jeung tugas. Urang kedah jelas delineate produksi urang jeung cadangan slot ad hoc pikeun ngajaga kinerja pikeun kasus pamakéan produksi jeung analisis online. Ieu greatly dipangaruhan desain kami pikeun reservations slot jeung hirarki proyék.

Kami bakal ngobrol ngeunaan manajemén data, fungsionalitas sareng biaya sistem dina dinten-dinten anu bakal datang dina bagian kadua tarjamahan, tapi ayeuna urang ngajak sadayana pikeun bebas hirup webinar, salila anjeun bakal tiasa diajar di jéntré ngeunaan kursus, kitu ogé nanya ka ahli urang - Egor Mateshuk (Senior Data Insinyur, MaximaTelecom).

Maca deui:

sumber: www.habr.com

Tambahkeun komentar