Google'дун BigQuery маалымат анализин кантип демократиялаштырган. 1 бөлүк

Салам, Хабр! Жаңы курска катталуу азыр OTUSда ачык Маалымат инженери. Курстун башталышын утурлай биз сиздер үчүн салттуу түрдө кызыктуу материалдын котормосун даярдадык.

Күн сайын жүз миллиондон ашык адам Твиттерге дүйнөдө эмне болуп жатканын билүү жана талкуулоо үчүн киришет. Ар бир твит жана ар бир колдонуучунун аракети Twitterдин ички маалыматтарын талдоо үчүн жеткиликтүү болгон окуяны жаратат. Жүздөгөн кызматкерлер бул маалыматтарды талдап, визуализациялашат жана алардын тажрыйбасын жакшыртуу Twitter Data Platform командасынын башкы приоритети болуп саналат.

Биз техникалык көндүмдөрдүн кеңири спектри бар колдонуучулар маалыматтарды таап, жакшы иштеген SQL-негизделген талдоо жана визуалдаштыруу куралдарына жетүү мүмкүнчүлүгүнө ээ болушу керек деп эсептейбиз. Бул азыраак техникалык колдонуучулардын жаңы тобуна, анын ичинде маалымат аналитиктерине жана өнүм менеджерлерине маалыматтардан түшүнүк алууга мүмкүндүк берип, Twitterдин мүмкүнчүлүктөрүн жакшыраак түшүнүүгө жана пайдаланууга мүмкүндүк берет. Твиттердеги маалымат аналитикасын ушундайча демократиялаштырабыз.

Инструменттерибиз жана ички маалыматтарды талдоо мүмкүнчүлүктөрү жакшырган сайын, Twitter жакшырганын көрдүк. Бирок, дагы эле жакшыртууга мүмкүнчүлүк бар. Scalding сыяктуу учурдагы куралдар программалоо тажрыйбасын талап кылат. Presto жана Vertica сыяктуу SQL-негизделген талдоо куралдары масштабда аткаруу көйгөйлөрүнө ээ. Бизде ошондой эле бир нече системалар боюнча маалыматтарды таратуу көйгөйү бар, ага туруктуу жетүү жок.

Былтыр биз жарыялаганбыз Google менен жаңы кызматташуу, анын ичинде биз бөлүктөрүбүздү өткөрүп беребиз маалымат инфраструктурасы Google Булут Платформасында (GCP). Биз Google Cloud куралдары деген жыйынтыкка келдик Big маалыматтар Твиттердеги аналитиканы, визуализацияны жана машина үйрөнүүнү демократиялаштыруу боюнча демилгелерибизге жардам бере алат:

  • чоң суроо: SQL кыймылдаткычы негизделген ишкана маалымат кампасы Dremel, анын ылдамдыгы, жөнөкөйлүгү менен белгилүү жана аны менен күрөшүүдө машина үйрөнүү.
  • Data Studio: Google Docs сыяктуу кызматташуу функциялары менен чоң маалыматтарды визуалдаштыруу куралы.

Бул макалада сиз бул куралдар менен болгон тажрыйбабыз жөнүндө биле аласыз: биз эмне кылдык, эмнеге үйрөндүк жана мындан ары эмне кылабыз. Биз азыр партияга жана интерактивдүү аналитикага көңүл бурабыз. Кийинки макалада реалдуу убакыт аналитикасын талкуулайбыз.

Twitter маалымат дүкөндөрүнүн тарыхы

BigQueryге кирүүдөн мурун, Twitter маалыматтар кампасынын тарыхын кыскача айтып өтүү керек. 2011-жылы Twitter маалыматтарын талдоо Vertica жана Hadoop кызматтарында жүргүзүлгөн. MapReduce Hadoop жумуштарын түзүү үчүн биз Pig колдондук. 2012-жылы биз Pigди Scalding менен алмаштырдык, анын Scala API'си татаал түтүктөрдү түзүү жана тестирлөөнүн оңойлугу сыяктуу артыкчылыктары бар. Бирок, SQL менен иштөө ыңгайлуу болгон көптөгөн маалымат аналитиктери жана продукт менеджерлери үчүн бул бир кыйла тик окуу ийри сызыгы болгон. 2016-жылы биз Prestoну Hadoop маалыматтарына SQL интерфейси катары колдоно баштадык. Spark Python интерфейсин сунуштады, бул аны атайын маалымат илими жана машина үйрөнүү үчүн жакшы тандоо кылат.

2018-жылдан бери биз маалыматтарды талдоо жана визуалдаштыруу үчүн төмөнкү куралдарды колдондук:

  • Өндүрүш конвейерлери үчүн күйгүзүү
  • Атайын маалыматтарды талдоо жана машина үйрөнүү үчүн Scalding жана Spark
  • Vertica жана Presto атайын жана интерактивдүү SQL анализи үчүн
  • Төмөнкү интерактивдүү, чалгындоочу жана убакыт серияларынын метрикаларына аз күтүү мүмкүнчүлүгү үчүн Druid
  • Маалыматтарды визуалдаштыруу үчүн Tableau, Zeppelin жана Pivot

Бул куралдар абдан күчтүү мүмкүнчүлүктөрдү сунуш кылганы менен, биз бул мүмкүнчүлүктөрдү Twitterдеги кеңири аудиторияга жеткиликтүү кылууда кыйынчылыкка дуушар болдук. Платформабызды Google Булут менен кеңейтүү менен, биз бардык Twitter үчүн аналитика куралдарыбызды жөнөкөйлөтүүгө көңүл буруп жатабыз.

Google'дун BigQuery маалымат кампасы

Твиттердеги бир нече командалар BigQueryди айрым өндүрүш түтүктөрүнө киргизген. Алардын тажрыйбасын колдонуп, биз BigQuery'нин бардык Twitter колдонуу учурлары үчүн мүмкүнчүлүктөрүн баалай баштадык. Биздин максат BigQuery'ди бүт компанияга сунуштоо жана аны стандартташтыруу жана Data Platform инструменттеринин ичинде колдоо болгон. Бул көптөгөн себептерден улам кыйын болду. Бизге чоң көлөмдөгү маалыматтарды ишенимдүү кабыл алуу, компаниянын масштабында берилиштерди башкарууну колдоо, кирүү мүмкүнчүлүгүн туура көзөмөлдөө жана кардарлардын купуялыгын камсыз кылуу үчүн инфраструктураны иштеп чыгышыбыз керек болчу. Командалар BigQueryди эффективдүү колдоно алышы үчүн, биз ресурстарды бөлүштүрүү, мониторинг жүргүзүү жана төлөмдү кайтаруу үчүн системаларды түзүшүбүз керек болчу.

2018-жылдын ноябрында биз BigQuery жана Data Studio'нун компаниянын альфа-релиздерин чыгардык. Биз Twitter кызматкерлерине тазаланган жеке маалыматтар менен эң көп колдонулган таблицаларыбызды сунуш кылдык. BigQuery ар кандай командалардын 250дөн ашык колдонуучулары тарабынан колдонулган, анын ичинде инженерия, каржы жана маркетинг. Акыркы убакта алар болжол менен 8 миң суроо-талаптарды иштетип, айына болжол менен 100 PB иштеп чыгышты, пландалган суроо-талаптарды эсепке албаганда. Абдан оң пикир алгандан кийин, биз алдыга жылууну чечтик жана BigQuery'ди Twitterдеги маалыматтар менен иштешүү үчүн негизги ресурс катары сунуштадык.

Бул жерде биздин Google BigQuery маалымат кампасынын архитектурасынын жогорку деңгээлдеги диаграммасы.

Google'дун BigQuery маалымат анализин кантип демократиялаштырган. 1 бөлүк
Биз ички Cloud Replicator куралын колдонуп, жергиликтүү Hadoop кластерлеринен дайындарды Google Булут сактагычына (GCS) көчүрөбүз. Андан кийин биз Apache Airflow'ту колдонгон түтүктөрдү түзүү үчүн колдонобуз "bq_load» GCSден BigQueryге берилиштерди жүктөө үчүн. GCSдеги Паркет же Thrift-LZO маалымат топтомдорун суроо үчүн биз Presto колдонобуз. BQ Blaster бул HDFS Vertica жана Thrift-LZO маалымат топтомдорун BigQueryге жүктөө үчүн ички күйгүзүү куралы.

Кийинки бөлүмдөрдө биз колдонуунун жөнөкөйлүгү, өндүрүмдүүлүк, маалыматтарды башкаруу, тутумдун ден соолугу жана наркы боюнча мамилебизди жана тажрыйбабызды талкуулайбыз.

пайдалануу устаты

Колдонуучулар үчүн BigQuery менен баштоо оңой экенин байкадык, анткени ал программалык камсыздоону орнотууну талап кылбайт жана колдонуучулар ага интуитивдик веб интерфейси аркылуу кире алышкан. Бирок, колдонуучулар GCPдин кээ бир өзгөчөлүктөрү жана концепциялары, анын ичинде долбоорлор, берилиштер топтому жана таблицалар сыяктуу ресурстар менен тааныш болушу керек болчу. Биз колдонуучуларды баштоого жардам берүү үчүн окуу материалдарын жана окуу куралдарын иштеп чыктык. Негизги түшүнүккө ээ болуу менен, колдонуучулар Data Studio'до берилиштер топтомун чабыттоо, схемаларды жана таблица маалыматтарын көрүү, жөнөкөй сурамдарды аткаруу жана натыйжаларды визуалдаштырууну оңой тапты.

BigQueryге маалыматтарды киргизүү максатыбыз бир чыкылдатуу менен HDFS же GCS берилиштер топтомун үзгүлтүксүз жүктөөнү иштетүү болгон. карадык Cloud Composer (Airflow тарабынан башкарылат), бирок биздин Домендин Чектелген Бөлүшүү коопсуздук моделинен улам аны колдоно албай койдук (бул тууралуу төмөндөгү Маалыматтарды башкаруу бөлүмүндө). Биз BigQuery иш жүгүн уюштуруу үчүн Google Маалыматтарды өткөрүү кызматын (DTS) колдонууну сынап көрдүк. DTS тез орнотулганы менен, көз карандылыктары бар түтүктөрдү куруу үчүн ийкемдүү эмес. Альфа-релизибиз үчүн, биз GCEде өзүбүздүн Apache Airflow алкакыбызды курдук жана аны өндүрүштө иштетүүгө жана Vertica сыяктуу көбүрөөк маалымат булактарын колдоого алууга даярдап жатабыз.

Дайындарды BigQueryге айландыруу үчүн колдонуучулар пландаштырылган сурамдарды колдонуу менен жөнөкөй SQL маалымат түтүктөрүн түзүшөт. Көз карандылыктары бар татаал көп баскычтуу түтүктөр үчүн биз өзүбүздүн Airflow алкакыбызды же Cloud Composer менен бирге колдонууну пландаштырып жатабыз. Cloud Dataflow.

кирешелүүлүк

BigQuery чоң көлөмдөгү маалыматтарды иштеткен жалпы максаттагы SQL сурамдары үчүн иштелип чыккан. Ал транзакциялык маалымат базасы талап кылган аз күтүү, жогорку өткөрүү жөндөмдүүлүгүн талап кылган суроолорго же ишке ашырылган аз күтүү убакыт сериясын талдоо үчүн арналган эмес. Apache Druid. Интерактивдүү аналитика сурамдары үчүн биздин колдонуучулар бир мүнөткө жетпеген жооп убакыттарын күтүшөт. Биз бул күтүүлөрдү канааттандыруу үчүн BigQuery колдонуубузду иштеп чыгышыбыз керек болчу. Колдонуучуларыбыздын болжолдуу майнаптуулугун камсыз кылуу үчүн биз BigQuery функционалдуулугун колдондук, ал кардарларга жалпак төлөм негизинде жеткиликтүү, бул долбоордун ээлерине суроо-талаптары үчүн минималдуу орун ээлеп коюуга мүмкүндүк берет. оюн BigQuery - SQL сурамдарын аткаруу үчүн талап кылынган эсептөө кубаттуулугунун бирдиги.

Биз ар бири болжол менен 800 ТБ маалыматтарды иштеткен 1дөн ашык суроону талдап чыктык жана орточо аткаруу убактысы 30 секунд экенин аныктадык. Биз ошондой эле аткаруу биздин уячаны ар кандай долбоорлордо жана тапшырмаларда колдонуудан көз каранды экенин билдик. Өндүрүштү колдонуу учурлары жана онлайн анализи үчүн өндүрүмдүүлүктү сактоо үчүн өндүрүштүк жана атайын слот резервдерибизди так аныктоого туура келди. Бул биздин оюктарды ээлөө жана долбоордун иерархиясы боюнча дизайныбызга чоң таасирин тийгизди.

Биз жакынкы күндөрү котормонун экинчи бөлүгүндө маалыматтарды башкаруу, системалардын иштеши жана баасы жөнүндө сүйлөшөбүз, бирок азыр бардыгын бекер түз вебинар, анын жүрүшүндө сиз курс жөнүндө кеңири маалымат ала аласыз, ошондой эле биздин экспертке суроолорду бере аласыз - Егор Матешук (МаксимаТелекомдун улук маалымат инженери).

Кененирээк:

Source: www.habr.com

Комментарий кошуу