Чӣ гуна BigQuery-и Google таҳлили маълумотро демократӣ кард. Қисми 1

Салом, Хабр! Сабти ном барои ҷараёни курси нав ҳоло дар OTUS кушода аст Муҳандиси маълумот. Дар арафаи оғози курс мо ба таври анъанавӣ тарҷумаи маводи ҷолибро барои шумо омода кардем.

Ҳар рӯз беш аз сад миллион нафар ба Твиттер ворид мешаванд, то бифаҳманд, ки дар ҷаҳон чӣ ҳодиса рӯй медиҳад ва онро муҳокима кунанд. Ҳар як твит ва ҳар амали дигари корбар ҳодисаеро тавлид мекунад, ки барои таҳлили маълумоти дохилии Twitter дастрас аст. Садҳо кормандон ин маълумотро таҳлил ва визуалӣ мекунанд ва такмил додани таҷрибаи онҳо авлавияти аввалиндараҷаи дастаи Twitter Data Platform аст.

Мо боварӣ дорем, ки корбароне, ки дорои доираи васеи малакаҳои техникӣ мебошанд, бояд маълумотро кашф кунанд ва ба абзорҳои хуби таҳлил ва визуализатсия дар асоси SQL дастрасӣ дошта бошанд. Ин ба як гурӯҳи нави корбарони камтар техникӣ, аз ҷумла таҳлилгарони маълумот ва менеҷерони маҳсулот имкон медиҳад, ки аз маълумот фаҳмиш гиранд ва ба онҳо имкон медиҳад, ки қобилиятҳои Twitter-ро беҳтар дарк кунанд ва истифода баранд. Ҳамин тавр мо таҳлили маълумотро дар Twitter демократӣ мекунем.

Вақте ки абзорҳо ва қобилиятҳои таҳлили дохилии мо беҳтар шуданд, мо мушоҳида кардем, ки Twitter беҳтар шудааст. Бо вуҷуди ин, барои беҳтар кардани он ҳанӯз ҳам ҷойҳо мавҷуданд. Воситаҳои ҷорӣ ба монанди Scalding таҷрибаи барномасозиро талаб мекунанд. Воситаҳои таҳлили SQL ба монанди Presto ва Vertica дар миқёс мушкилоти иҷроиш доранд. Мо инчунин мушкилоти паҳн кардани маълумотро дар байни системаҳои сершумор бидуни дастрасии доимӣ ба он дорем.

Соли гузашта эълон карда будем ҳамкории нав бо Google, ки дар дохили он мо қисмҳои худро интиқол медиҳем инфрасохтори маълумот дар Google Cloud Platform (GCP). Мо ба хулосае омадем, ки абзорҳои Google Cloud Маълумоти калон метавонад ба мо дар ташаббусҳои мо оид ба демократикунонии таҳлил, визуализатсия ва омӯзиши мошинсозӣ дар Twitter кӯмак кунад:

Дар ин мақола шумо дар бораи таҷрибаи мо бо ин асбобҳо маълумот хоҳед гирифт: мо чӣ кор кардем, чӣ омӯхтаем ва чӣ кор хоҳем кард. Ҳоло мо ба таҳлили гурӯҳӣ ва интерактивӣ тамаркуз хоҳем кард. Мо дар мақолаи навбатӣ таҳлили вақти воқеӣ муҳокима хоҳем кард.

Таърихи мағозаҳои маълумотҳои Twitter

Пеш аз ворид шудан ба BigQuery, ба таври мухтасар дар бораи таърихи анбори додаҳои Twitter нақл кардан лозим аст. Дар соли 2011 таҳлили додаҳои Twitter дар Vertica ва Hadoop гузаронида шуд. Мо Pig-ро барои сохтани ҷойҳои MapReduce Hadoop истифода мебарем. Дар соли 2012, мо Pig-ро бо Scalding иваз кардем, ки API-и Scala дошт, ба монанди қобилияти сохтани қубурҳои мураккаб ва осонии санҷиш. Бо вуҷуди ин, барои бисёре аз таҳлилгарони маълумот ва менеҷерони маҳсулот, ки кор бо SQL бароҳаттар буданд, ин як каҷравии хеле шадиди омӯзиш буд. Тақрибан соли 2016, мо Presto-ро ҳамчун интерфейси SQL ба додаҳои Hadoop оғоз кардем. Spark интерфейси Python-ро пешниҳод кард, ки онро интихоби хуб барои илми маълумотҳои махсус ва омӯзиши мошинсозӣ месозад.

Аз соли 2018 мо воситаҳои зеринро барои таҳлил ва визуализатсияи маълумот истифода мебарем:

  • Сӯхтор барои конвейерҳои истеҳсолӣ
  • Scalding ва Spark барои таҳлили муваққатии додаҳо ва омӯзиши мошин
  • Vertica ва Presto барои таҳлили махсус ва интерактивии SQL
  • Druid барои дастрасии пасти интерактивӣ, ҷустуҷӯӣ ва таъхири паст ба метрикаи силсилаи вақт
  • Tableau, Zeppelin ва Pivot барои визуализатсияи маълумот

Мо дарёфтем, ки дар ҳоле ки ин абзорҳо қобилиятҳои хеле пурқувватро пешниҳод мекунанд, мо душворӣ доштем, ки ин қобилиятҳоро барои аудиторияи васеътар дар Twitter дастрас кунем. Бо тавсеаи платформаи худ бо Google Cloud, мо диққати худро ба содда кардани абзорҳои таҳлилии худ барои тамоми Twitter равона мекунем.

Анбори додаҳои Google BigQuery

Якчанд дастаҳои Twitter аллакай BigQuery-ро ба баъзе қубурҳои истеҳсолии худ ворид кардаанд. Бо истифода аз таҷрибаи онҳо, мо ба арзёбии қобилиятҳои BigQuery барои ҳама ҳолатҳои истифодаи Twitter оғоз кардем. Ҳадафи мо пешниҳод кардани BigQuery ба тамоми ширкат ва стандартизатсия ва дастгирии он дар доираи абзорҳои Платформаи маълумот буд. Ин барои бисёр сабабҳо душвор буд. Ба мо лозим буд, ки инфрасохтореро таҳия кунем, то ҳаҷми бузурги маълумотро боэътимод ворид кунем, идоракунии маълумоти умумиро дар тамоми ширкат дастгирӣ кунем, назорати дурусти дастрасиро таъмин кунем ва махфияти муштариёнро таъмин кунем. Мо инчунин маҷбур шудем, ки системаҳои тақсимоти захираҳо, мониторинг ва баргардонидани пардохтҳоро эҷод кунем, то дастаҳо BigQuery-ро самаранок истифода баранд.

Моҳи ноябри соли 2018 мо як версияи алфа-и BigQuery ва Data Studio-ро баровардем. Мо ба кормандони Twitter баъзе аз ҷадвалҳои зуд-зуд истифодашавандаи худро бо маълумоти тозашудаи шахсӣ пешниҳод кардем. BigQuery аз ҷониби зиёда аз 250 корбар аз дастаҳои гуногун, аз ҷумла муҳандисӣ, молия ва маркетинг истифода шудааст. Ба наздикӣ, онҳо тақрибан 8k дархостро иҷро мекарданд, тақрибан 100 PB дар як моҳ коркард мекарданд, дархостҳои ба нақша гирифташударо ҳисоб накардаанд. Пас аз гирифтани фикру мулоҳизаҳои хеле мусбӣ, мо тасмим гирифтем, ки пеш равем ва BigQuery-ро ҳамчун манбаи асосӣ барои ҳамкорӣ бо маълумот дар Twitter пешниҳод кунем.

Ин аст диаграммаи сатҳи баланди меъмории анбори додаҳои Google BigQuery.

Чӣ гуна BigQuery-и Google таҳлили маълумотро демократӣ кард. Қисми 1
Мо маълумотро аз кластерҳои дохилии Hadoop ба Google Cloud Storage (GCS) бо истифода аз абзори дохилии Cloud Replicator нусхабардорӣ мекунем. Сипас мо Apache Airflow-ро барои сохтани қубурҳое истифода мебарем, ки "bq_load» барои бор кардани маълумот аз GCS ба BigQuery. Мо Presto-ро барои пурсиши маҷмӯи додаҳои Parket ё Thrift-LZO дар GCS истифода мебарем. BQ Blaster як воситаи дохилии Scalding барои бор кардани маҷмӯи додаҳои HDFS Vertica ва Thrift-LZO ба BigQuery мебошад.

Дар бахшҳои зерин мо равиш ва таҷрибаи худро дар соҳаҳои осонии истифода, иҷроиш, идоракунии маълумот, саломатии система ва арзиш баррасӣ мекунем.

Осонии истифода

Мо дарёфтем, ки барои корбарон оғоз кардани BigQuery осон буд, зеро он насби нармафзорро талаб намекунад ва корбарон метавонанд ба он тавассути интерфейси интуитивӣ дастрасӣ пайдо кунанд. Бо вуҷуди ин, корбарон бояд бо баъзе хусусиятҳо ва консепсияҳои GCP, аз ҷумла захираҳо ба монанди лоиҳаҳо, маҷмӯи додаҳо ва ҷадвалҳо шинос шаванд. Мо маводҳои таълимӣ ва дастурҳои дарсӣ таҳия кардем, то ба корбарон дар оғози кор кумак кунанд. Бо фаҳмиши асосӣ, корбарон паймоиши маҷмӯи додаҳо, дидани схема ва ҷадвал, иҷро кардани дархостҳои оддӣ ва визуалии натиҷаҳоро дар Data Studio осон пайдо карданд.

Ҳадафи мо барои ворид кардани маълумот ба BigQuery имкон додани боркунии бефосилаи маҷмӯи додаҳои HDFS ё GCS бо як клик буд. ба назар гирифтем Оҳангсози абрӣ (аз ҷониби Airflow идора карда мешавад), аммо бо сабаби модели амниятии мо Домени маҳдудшудаи мубодила онро истифода бурда натавонистанд (бештар дар ин бора дар бахши идоракунии маълумот дар зер). Мо бо истифода аз хидмати интиқоли маълумотҳои Google (DTS) барои ташкили сарбории кории BigQuery озмоиш кардем. Дар ҳоле ки DTS зуд ба кор андохта шуд, он барои сохтани қубурҳои вобастагӣ чандир набуд. Барои нашри алфа мо, мо чаҳорчӯбаи Apache Airflow-и худро дар GCE сохтаем ва онро омода карда истодаем, то дар истеҳсолот кор кунад ва тавонистани манбаъҳои бештари маълумотро ба мисли Vertica дастгирӣ кунад.

Барои табдил додани маълумот ба BigQuery, корбарон бо истифода аз дархостҳои ба нақша гирифташуда қубурҳои оддии додаҳои SQL эҷод мекунанд. Барои қубурҳои мураккаби бисёрмарҳилаи вобастагӣ, мо нақша дорем, ки чаҳорчӯбаи Airflow-и худ ё Cloud Composer-ро дар якҷоягӣ истифода барем. Абри Dataflow.

Маҳсулнокӣ

BigQuery барои дархостҳои SQL-и таъиноти умумӣ тарҳрезӣ шудааст, ки миқдори зиёди маълумотро коркард мекунанд. Он барои таъхири паст, пурсишҳои баланди интиқол, ки аз ҷониби пойгоҳи додаҳои транзаксионӣ талаб карда мешавад ё барои таҳлили силсилаи вақтҳои таъхирнопазир пешбинӣ нашудааст. Apache Druid. Барои дархостҳои интерактивии аналитикӣ, корбарони мо вақти посухро камтар аз як дақиқа интизоранд. Мо бояд истифодаи BigQuery-ро барои қонеъ кардани ин интизориҳо тарҳрезӣ кунем. Барои таъмини иҷрои пешгӯишаванда барои корбарони худ, мо аз функсияи BigQuery истифода кардем, ки ба муштариён дар асоси пардохти ҳамвор дастрас аст, ки ба соҳибони лоиҳа имкон медиҳад, ки ҷойҳои ҳадди ақалро барои дархостҳои худ захира кунанд. Сутун BigQuery як воҳиди қудрати ҳисоббарорӣ мебошад, ки барои иҷрои дархостҳои SQL лозим аст.

Мо беш аз 800 дархостро таҳлил кардем, ки тақрибан 1 TB маълумотро коркард мекунанд ва дарёфтем, ки вақти миёнаи иҷро 30 сония буд. Мо инчунин фаҳмидем, ки иҷроиш аз истифодаи ковокии мо дар лоиҳаҳо ва вазифаҳои гуногун вобаста аст. Мо маҷбур шудем, ки захираҳои истеҳсолӣ ва слотҳои махсуси худро ба таври возеҳ муайян кунем, то нишондиҳандаҳоро барои ҳолатҳои истифодаи истеҳсолот ва таҳлили онлайн нигоҳ дорем. Ин ба тарҳрезии мо барои фармоиши слот ва иерархияи лоиҳа таъсири калон расонд.

Мо дар бораи идоракунии додаҳо, функсияҳо ва арзиши системаҳо дар рӯзҳои наздик дар қисми дуюми тарҷума сӯҳбат хоҳем кард, аммо ҳоло мо ҳамаро даъват мекунем вебинари мустақими ройгон, ки дар давоми он шумо метавонед ба таври муфассал дар бораи курс маълумот гиред ва инчунин ба коршиноси мо - Егор Матешук (муҳандиси калони маълумот, MaximaTelecom) саволҳо диҳед.

Бештар:

Манбаъ: will.com

Илова Эзоҳ