{"id":91903,"date":"2020-08-20T07:42:18","date_gmt":"2020-08-20T05:42:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-bigquery-ot-google-demokratiziroval-analiz-dannyh-chast-2"},"modified":"2020-08-20T07:42:18","modified_gmt":"2020-08-20T05:42:18","slug":"kak-bigquery-ot-google-demokratiziroval-analiz-dannyh-chast-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kak-bigquery-ot-google-demokratiziroval-analiz-dannyh-chast-2","title":{"rendered":"Hogyan demokratiz\u00e1lta a Google BigQuery az adatelemz\u00e9st. 2. r\u00e9sz","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>Hell\u00f3, Habr! Jelenleg az OTUS \u00faj kurzus\u00e1ra jelentkez\u00e9st hirdet\u00fcnk. <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/wDZQ\/\">\u201eAdatm\u00e9rn\u00f6k\u201d<\/a><\/noindex>. A kurzus kezdet\u00e9re k\u00e9sz\u00fclve folytatjuk hasznos anyagok megoszt\u00e1s\u00e1t veletek. <\/i><\/b><\/p>\n<p><i><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/\">Els\u0151 r\u00e9sz olvas\u00e1sa<\/a><\/noindex><\/i><\/p>\n<p><img decoding=\"async\" alt=\"Hogyan demokratiz\u00e1lta a Google BigQuery az adatelemz\u00e9st. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/08\/7b9314bffd954cd408807280f8956c21.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h4>Adatkezel\u00e9s<\/h4>\n<p>\nAz er\u0151s adatkezel\u00e9s (Strong Data Governance) a Twitter Engineering alapelve. Mivel a BigQuery-t integr\u00e1ljuk platformunkba, az adatok felfedez\u00e9s\u00e9re, a hozz\u00e1f\u00e9r\u00e9s ellen\u0151rz\u00e9s\u00e9re, a biztons\u00e1gra \u00e9s a mag\u00e1n\u00e9let v\u00e9delm\u00e9re \u00f6sszpontos\u00edtunk.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Az adatok felfedez\u00e9s\u00e9re \u00e9s kezel\u00e9s\u00e9re kiterjesztett\u00fck az adat-hozz\u00e1f\u00e9r\u00e9si szint\u00fcnket (Data Access Layer \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.twitter.com\/engineering\/en_us\/topics\/insights\/2016\/discovery-and-consumption-of-analytics-data-at-twitter.html\">DAL<\/a><\/noindex>), hogy eszk\u00f6z\u00f6ket biztos\u00edtsunk mind a helyi adatok, mind a Google Cloud adatok kezel\u00e9s\u00e9re, egyetlen interf\u00e9szt \u00e9s API-t biztos\u00edtva felhaszn\u00e1l\u00f3ink sz\u00e1m\u00e1ra. Ahogy a Google <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/data-catalog\/\">Data Catalog<\/a><\/noindex> a nyilv\u00e1noss\u00e1g fel\u00e9 halad, integr\u00e1lni fogjuk a projektjeinkbe, hogy olyan funkci\u00f3kat ny\u00fajtsunk a felhaszn\u00e1l\u00f3knak, mint a mez\u0151k keres\u00e9se.<\/p>\n<p>A BigQuery lehet\u0151v\u00e9 teszi az adatok egyszer\u0171 megoszt\u00e1s\u00e1t \u00e9s hozz\u00e1f\u00e9r\u00e9s\u00e9t, de bizonyos m\u00e9rt\u00e9kig kontroll\u00e1lnunk kellett ezt, hogy megakad\u00e1lyozzuk az adatok kisziv\u00e1rg\u00e1s\u00e1t. M\u00e1s eszk\u00f6z\u00f6k mellett k\u00e9t funkci\u00f3t v\u00e1lasztottunk:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/resource-manager\/docs\/organization-policy\/restricting-domains\">Domain restricted sharing<\/a><\/noindex>: b\u00e9ta funkci\u00f3, amely megakad\u00e1lyozza, hogy a felhaszn\u00e1l\u00f3k BigQuery adat\u00e1llom\u00e1nyokat osszanak meg a Twitteren k\u00edv\u00fcli felhaszn\u00e1l\u00f3kkal.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/vpc-service-controls\/\">VPC service controls<\/a><\/noindex>: egy vez\u00e9rl\u0151elem, amely megakad\u00e1lyozza az adatok kisziv\u00e1rg\u00e1s\u00e1t, \u00e9s megk\u00f6veteli a felhaszn\u00e1l\u00f3kt\u00f3l, hogy ismert IP-c\u00edmtartom\u00e1nyokb\u00f3l f\u00e9rjenek hozz\u00e1 a BigQuery-hez.<\/li>\n<\/ul>\n<p>\nAz al\u00e1bbiak szerint val\u00f3s\u00edtottuk meg az autentik\u00e1ci\u00f3s, enged\u00e9lyez\u00e9si \u00e9s audit\u00e1l\u00e1si (AAA) k\u00f6vetelm\u00e9nyeket a biztons\u00e1g \u00e9rdek\u00e9ben:<\/p>\n<ul>\n<li> Autentik\u00e1ci\u00f3: GCP felhaszn\u00e1l\u00f3i fi\u00f3kokat haszn\u00e1ltunk ad hoc lek\u00e9rdez\u00e9sekhez \u00e9s szolg\u00e1ltat\u00f3i fi\u00f3kokat munkahelyi lek\u00e9rdez\u00e9sekhez.<\/li>\n<li>Enged\u00e9lyez\u00e9s: megk\u00f6vetelt\u00fck, hogy minden adat\u00e1llom\u00e1nynak legyen egy szolg\u00e1ltat\u00f3i fi\u00f3k tulajdonosa \u00e9s egy olvas\u00f3i csoportja.<\/li>\n<li>Audit\u00e1l\u00e1s: a BigQuery stackdriver napl\u00f3it, amelyek r\u00e9szletes inform\u00e1ci\u00f3kat tartalmaztak a lek\u00e9rdez\u00e9sek v\u00e9grehajt\u00e1s\u00e1r\u00f3l, export\u00e1ltuk BigQuery adat\u00e1llom\u00e1nyba az egyszer\u0171bb elemz\u00e9s \u00e9rdek\u00e9ben.<\/li>\n<\/ul>\n<p>\nA Twitter felhaszn\u00e1l\u00f3k szem\u00e9lyes adatainak megfelel\u0151 kezel\u00e9se \u00e9rdek\u00e9ben minden BigQuery adat\u00e1llom\u00e1nyt regisztr\u00e1lnunk kell, annot\u00e1lnunk kell a szem\u00e9lyes adatokat, biztos\u00edtanunk kell a megfelel\u0151 t\u00e1rol\u00e1st, \u00e9s t\u00f6r\u00f6ln\u00fcnk (ki kell takar\u00edtani) azokat az adatokat, amelyeket a felhaszn\u00e1l\u00f3k t\u00f6r\u00f6ltek.<\/p>\n<p>Megvizsg\u00e1ltuk a Google <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/dlp\/\">Cloud Data Loss Prevention API-t<\/a><\/noindex>, amely g\u00e9pi tanul\u00e1st alkalmaz az \u00e9rz\u00e9keny adatok oszt\u00e1lyoz\u00e1s\u00e1ra \u00e9s szerkeszt\u00e9s\u00e9re, de a pontoss\u00e1g miatt a k\u00e9zi adatok annot\u00e1l\u00e1sa mellett d\u00f6nt\u00f6tt\u00fcnk. Tervez\u00fcnk Data Loss Prevention API-t haszn\u00e1lni a felhaszn\u00e1l\u00f3i annot\u00e1ci\u00f3k kieg\u00e9sz\u00edt\u00e9s\u00e9re.<\/p>\n<p>A Twitteren n\u00e9gy adatv\u00e9delmi kateg\u00f3ri\u00e1t hoztunk l\u00e9tre a BigQuery adatb\u00e1zisok sz\u00e1m\u00e1ra, amelyek \u00e9rz\u00e9kenys\u00e9g szerint cs\u00f6kken\u0151 sorrendben itt vannak felsorolva:<\/p>\n<ul>\n<li>A Magas \u00e9rz\u00e9kenys\u00e9g\u0171 adatok csak sz\u00fcks\u00e9g szerint \u00e9rhet\u0151k el a legkisebb privil\u00e9gium elve alapj\u00e1n. Minden adatb\u00e1zis k\u00fcl\u00f6n olvas\u00f3i csoporttal rendelkezik, \u00e9s nyomon k\u00f6vetj\u00fck az egyes fi\u00f3kok haszn\u00e1lat\u00e1t.<\/li>\n<li>A K\u00f6zepes \u00e9rz\u00e9kenys\u00e9g\u0171 adatok (egyetlen ir\u00e1ny\u00fa \u00e1ln\u00e9v s\u00f3zott hash-el\u00e9ssel) nem tartalmaznak szem\u00e9lyes azonos\u00edt\u00e1sra alkalmas inform\u00e1ci\u00f3t (Personally Identifiable Information - PII), \u00e9s egy nagyobb alkalmazotti csoport sz\u00e1m\u00e1ra el\u00e9rhet\u0151k. Ez j\u00f3 egyens\u00falyt teremt az adatv\u00e9delmi \u00e9s az adatok hasznoss\u00e1gi megfontol\u00e1sok k\u00f6z\u00f6tt. Ez lehet\u0151v\u00e9 teszi, hogy az alkalmazottak olyan elemz\u00e9si feladatokat v\u00e9gezzenek, mint p\u00e9ld\u00e1ul megtudni, hogy h\u00e1ny felhaszn\u00e1l\u00f3 haszn\u00e1lta a funkci\u00f3t an\u00e9lk\u00fcl, hogy tudn\u00e1k, kik a val\u00f3s felhaszn\u00e1l\u00f3k.<\/li>\n<li>Az Alacsony \u00e9rz\u00e9kenys\u00e9g\u0171 adatok mindazon inform\u00e1ci\u00f3t tartalmazz\u00e1k, amely azonos\u00edtani k\u00e9pes a felhaszn\u00e1l\u00f3t. Ez j\u00f3 megk\u00f6zel\u00edt\u00e9s az adatv\u00e9delem szempontj\u00e1b\u00f3l, de nem haszn\u00e1lhat\u00f3 felhaszn\u00e1l\u00f3i szint\u0171 anal\u00edzisekhez.<\/li>\n<li>A Nyilv\u00e1nos adatok (a Twitteren k\u00edv\u00fcl kiadottak) minden Twitter alkalmazott sz\u00e1m\u00e1ra el\u00e9rhet\u0151k.<\/li>\n<\/ul>\n<p>\nA nyilv\u00e1ntart\u00e1s vonatkoz\u00e1s\u00e1ban \u00fctemezett feladatokat haszn\u00e1ltunk a BigQuery adatb\u00e1zisok felsorol\u00e1s\u00e1ra \u00e9s azok nyilv\u00e1ntart\u00e1sba v\u00e9tel\u00e9re a Data Access Layerben (<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.twitter.com\/engineering\/en_us\/topics\/insights\/2016\/discovery-and-consumption-of-analytics-data-at-twitter.html\">DAL<\/a><\/noindex>), a Twitter metaadatainak t\u00e1rol\u00f3ja. A felhaszn\u00e1l\u00f3k annot\u00e1lni fogj\u00e1k az adatb\u00e1zisokat az adatv\u00e9delmi inform\u00e1ci\u00f3kkal, \u00e9s megjel\u00f6lik a t\u00e1rol\u00e1si id\u0151tartamot. A tiszt\u00edt\u00e1ssal kapcsolatban a teljes\u00edtm\u00e9nyt \u00e9s a k\u00f6lts\u00e9get k\u00e9t lehet\u0151s\u00e9g \u00e9rt\u00e9kel\u00e9se \u00e9rdek\u00e9ben n\u00e9zz\u00fck: <i>1.<\/i> Adatb\u00e1zisok tiszt\u00edt\u00e1sa GCS-ben olyan eszk\u00f6z\u00f6kkel, mint a Scalding, \u00e9s ezek BigQuery-be val\u00f3 bet\u00f6lt\u00e9se; <i>2.<\/i> BigQuery DML parancsok haszn\u00e1lata. Val\u00f3sz\u00edn\u0171leg mindk\u00e9t m\u00f3dszer kombin\u00e1ci\u00f3j\u00e1t fogjuk haszn\u00e1lni a k\u00fcl\u00f6nb\u00f6z\u0151 csoportok \u00e9s adatok ig\u00e9nyeinek kiel\u00e9g\u00edt\u00e9se \u00e9rdek\u00e9ben.<\/p>\n<h4>A rendszer funkcionalit\u00e1sa<\/h4>\n<p>\nMivel a BigQuery egy kezel\u00e9s alatti szolg\u00e1ltat\u00e1s, nem volt sz\u00fcks\u00e9g a Twitter SRE csapat\u00e1nak bevon\u00e1s\u00e1ra a rendszerek kezel\u00e9s\u00e9be vagy a \u00fcgyeleti feladatok ell\u00e1t\u00e1s\u00e1ba. K\u00f6nnyen biztos\u00edthat\u00f3 volt a nagy t\u00e1rol\u00e1si \u00e9s sz\u00e1m\u00edt\u00e1si kapacit\u00e1s. A slotok fenntart\u00e1s\u00e1t Google t\u00e1mogat\u00e1si jegyek l\u00e9trehoz\u00e1s\u00e1val m\u00f3dos\u00edthattuk. Meg\u00e1llap\u00edtottuk, hogy lehetne jav\u00edtani, p\u00e9ld\u00e1ul az \u00f6nkiszolg\u00e1l\u00e1s a slotok eloszt\u00e1s\u00e1ban \u00e9s a fel\u00fcgyeleti panel fejleszt\u00e9se ter\u00e9n, \u00e9s ezeket a k\u00e9r\u00e9seket \u00e1tadtuk a Google-nak.<\/p>\n<h4>\u00c1r<\/h4>\n<p>\nEl\u0151zetes elemz\u00e9s\u00fcnk azt mutatta, hogy a BigQuery \u00e9s a Presto k\u00e9r\u00e9s\u00e9nek k\u00f6lts\u00e9ge azonos szinten volt. Slotokat v\u00e1s\u00e1roltunk <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/bigquery\/pricing#flat_rate_pricing\">fix \u00e1ron, hogy stabil havi k\u00f6lts\u00e9get biztos\u00edtsunk ahelyett, hogy<\/a><\/noindex> ig\u00e9ny szerint <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/bigquery\/pricing#on_demand_pricing\">fizett\u00fcnk volna a feldolgozott adatok TB-j\u00e1\u00e9rt. Ez a d\u00f6nt\u00e9s a felhaszn\u00e1l\u00f3i visszajelz\u00e9sek alapj\u00e1n is sz\u00fcletett, akik nem akartak a k\u00f6lts\u00e9gekkel foglalkozni minden egyes k\u00e9r\u00e9s el\u0151tt.<\/a><\/noindex> A BigQuery-ban t\u00e1rolt adatok k\u00f6lts\u00e9gei ad\u00f3dnak a GCS k\u00f6lts\u00e9geihez. Az olyan eszk\u00f6z\u00f6k, mint a Scalding, megk\u00f6vetelik a k\u00e9szletek megl\u00e9t\u00e9t GCS-ben, mik\u00f6zben a BigQuery-hoz val\u00f3 hozz\u00e1f\u00e9r\u00e9shez ugyanazokat a k\u00e9szleteket BigQuery form\u00e1tumban kellett felt\u00f6lten\u00fcnk.<\/p>\n<p>Capacitor. <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/inside-capacitor-bigquerys-next-generation-columnar-storage-format\">Dolgozunk a Scalding \u00e9s a BigQuery k\u00e9szletek k\u00f6z\u00f6tti kapcsolaton, ami megsz\u00fcnteti az adat\u00e1llom\u00e1nyok GCS \u00e9s BigQuery \u00e1ltali t\u00e1rol\u00e1s\u00e1nak sz\u00fcks\u00e9gess\u00e9g\u00e9t.<\/a><\/noindex>A ritka esetek, amelyek nem gyakori t\u00edzpetab\u00e1jtos lek\u00e9rdez\u00e9seket ig\u00e9nyeltek, alapj\u00e1n \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy az adat\u00e1llom\u00e1nyok BigQuery-ban val\u00f3 t\u00e1rol\u00e1sa nem gazdas\u00e1gos, \u00e9s a Presto-t haszn\u00e1ltuk k\u00f6zvetlen hozz\u00e1f\u00e9r\u00e9shez a GCS k\u00e9szletekhez. Ennek \u00e9rdek\u00e9ben a BigQuery K\u00fcls\u0151 Adatforr\u00e1sokra figyel\u00fcnk.<\/p>\n<p>A BigQuery ir\u00e1nti nagy \u00e9rdekl\u0151d\u00e9s tapasztalhat\u00f3 az alfa verzi\u00f3 kiad\u00e1sa \u00f3ta. Tov\u00e1bb\u00e1 t\u00f6bb adat\u00e1llom\u00e1nyt \u00e9s csapatot adunk hozz\u00e1 a BigQuery-hoz. Konektorokat fejleszt\u00fcnk adat-elemz\u0151 eszk\u00f6z\u00f6k, p\u00e9ld\u00e1ul a Scalding sz\u00e1m\u00e1ra, hogy olvashassanak \u00e9s \u00edrjanak a BigQuery t\u00e1rol\u00f3j\u00e1ba. Olyan eszk\u00f6z\u00f6ket fontolgatunk, mint a Looker \u00e9s az Apache Zeppelin, az \u00fczleti jelent\u00e9sek k\u00e9sz\u00edt\u00e9s\u00e9re a BigQuery adat\u00e1llom\u00e1nyok felhaszn\u00e1l\u00e1s\u00e1val.<\/p>\n<h3>K\u00f6vetkez\u0151 l\u00e9p\u00e9sek<\/h3>\n<p>\nA Google-lal val\u00f3 egy\u00fcttm\u0171k\u00f6d\u00e9s nagyon eredm\u00e9nyes volt, \u00e9s \u00f6r\u00f6mmel folytatjuk \u00e9s fejlesztj\u00fck ezt a partners\u00e9get. Dolgoztunk a Google-lal, hogy bevezethess\u00fck saj\u00e1t<\/p>\n<p>Partner Issue Tracker\u00fcnket, <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/issue-tracker\/guides\/partner-access\">hogy k\u00f6zvetlen\u00fcl k\u00fcldhess\u00fcnk k\u00e9r\u00e9seket a Google-nak. N\u00e9h\u00e1ny k\u00f6z\u00fcl\u00fck, mint a BigQuery Parquet bet\u00f6lt\u0151, m\u00e1r megval\u00f3sult a Google \u00e1ltal.<\/a><\/noindex>, hogy k\u00f6zvetlen\u00fcl k\u00fcldje el a lek\u00e9rdez\u00e9seket a Google-nak. N\u00e9h\u00e1ny k\u00f6z\u00fcl\u00fck, mint p\u00e9ld\u00e1ul a BigQuery Parquet bet\u00f6lt\u0151, m\u00e1r megval\u00f3sult a Google \u00e1ltal.<\/p>\n<p>\u00cdme n\u00e9h\u00e1ny kiemelt funkci\u00f3k\u00e9relm\u00fcnk a Google sz\u00e1m\u00e1ra:<\/p>\n<ul>\n<li>Eszk\u00f6z\u00f6k az adatok k\u00f6nny\u0171 fogad\u00e1s\u00e1hoz \u00e9s LZO-Thrift form\u00e1tum t\u00e1mogat\u00e1sa.<\/li>\n<li>\u00d3r\u00e1nk\u00e9nti szegment\u00e1ci\u00f3<\/li>\n<li>Hozz\u00e1f\u00e9r\u00e9s-ellen\u0151rz\u00e9si fejleszt\u00e9sek, p\u00e9ld\u00e1ul t\u00e1blaszint\u0171, sor- \u00e9s oszlopszint\u0171 enged\u00e9lyek.<\/li>\n<li>: T\u00e1bla particion\u00e1l\u00e1s \u00e9s csoportos\u00edt\u00e1s, \u00d6sszef\u00e9s\u00fcl\u00e9si viselked\u00e9s, KMS titkos\u00edt\u00e1s, C\u00edmk\u00e9k \u00e9s Tagok <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/bigquery\/external-data-sources\">K\u00fcls\u0151 adatforr\u00e1sok<\/a><\/noindex> valamint integr\u00e1lva \u00e9s t\u00e1mogatva van a Hive Metastore az LZO-Thrift form\u00e1tumhoz.<\/li>\n<li>Jav\u00edtott adat katal\u00f3gus integr\u00e1ci\u00f3 a BigQuery felhaszn\u00e1l\u00f3i fel\u00fclet\u00e9n<\/li>\n<li>\u00d6nki szolg\u00e1ltat\u00e1sok a slotok eloszt\u00e1s\u00e1ra \u00e9s figyel\u00e9s\u00e9re.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Z\u00e1r\u00e1s<\/h3>\n<p>\nAz adatelemz\u00e9s, vizualiz\u00e1ci\u00f3 \u00e9s g\u00e9pi tanul\u00e1s demokratiz\u00e1l\u00e1sa biztons\u00e1gos m\u00f3don kiemelt priorit\u00e1st \u00e9lvez a Data Platform csapata sz\u00e1m\u00e1ra. Azonos\u00edtottuk a Google BigQuery-t \u00e9s a Data Studio-t, mint olyan eszk\u00f6z\u00f6ket, amelyek seg\u00edthetnek c\u00e9ljaink el\u00e9r\u00e9s\u00e9ben, \u00e9s tavaly kiadottuk a BigQuery Alpha-t a teljes v\u00e1llalat sz\u00e1m\u00e1ra. <\/p>\n<p>Felt\u0171nt, hogy a BigQuery-ben v\u00e9gzett lek\u00e9rdez\u00e9sek egyszer\u0171ek \u00e9s hat\u00e9konyak voltak. Az adatok fogad\u00e1s\u00e1hoz \u00e9s \u00e1talak\u00edt\u00e1s\u00e1hoz a Google eszk\u00f6zeit haszn\u00e1ltuk egyszer\u0171 munkafolyamatokhoz, de bonyolult munkafolyamatokhoz saj\u00e1t Airflow infrastrukt\u00far\u00e1t kellett l\u00e9trehoznunk. Az adatkezel\u00e9si szolg\u00e1ltat\u00e1sok a BigQuery-ben az autentik\u00e1ci\u00f3, enged\u00e9lyez\u00e9s \u00e9s audit\u00e1l\u00e1s ter\u00e9n kiel\u00e9g\u00edtik ig\u00e9nyeinket. A metadatok kezel\u00e9se \u00e9s a mag\u00e1n\u00e9let v\u00e9delme \u00e9rdek\u00e9ben nagyobb rugalmass\u00e1gra volt sz\u00fcks\u00e9g\u00fcnk, \u00edgy saj\u00e1t rendszereket kellett l\u00e9trehoznunk. A BigQuery, mint fel\u00fcgyelt szolg\u00e1ltat\u00e1s, k\u00f6nnyen haszn\u00e1lhat\u00f3 volt. A lek\u00e9rdez\u00e9sek k\u00f6lts\u00e9gei a megl\u00e9v\u0151 eszk\u00f6z\u00f6kh\u00f6z hasonl\u00f3ak voltak. A BigQuery adatainak t\u00e1rol\u00e1sa a GCS k\u00f6lts\u00e9gein k\u00edv\u00fcl tov\u00e1bbi kiad\u00e1sokat jelentett.<\/p>\n<p>\u00d6sszess\u00e9g\u00e9ben a BigQuery j\u00f3l m\u0171k\u00f6dik a \u00e1ltal\u00e1nos SQL elemz\u00e9shez. Nagy \u00e9rdekl\u0151d\u00e9st tapasztalunk a BigQuery ir\u00e1nt, \u00e9s azon dolgozunk, hogy t\u00f6bb adat\u00e1llom\u00e1nyt \u00e1thelyezz\u00fcnk, t\u00f6bb csapatot vonjunk be, \u00e9s t\u00f6bb munkafolyamatot k\u00e9sz\u00edts\u00fcnk a BigQuery-vel. A Twitter k\u00fcl\u00f6nb\u00f6z\u0151 adatokat haszn\u00e1l, amelyekhez eszk\u00f6z\u00f6k kombin\u00e1ci\u00f3ja, p\u00e9ld\u00e1ul Scalding, Spark, Presto \u00e9s Druid sz\u00fcks\u00e9ges. Folytatni k\u00edv\u00e1njuk az adat elemz\u0151 eszk\u00f6zeink fejleszt\u00e9s\u00e9t, \u00e9s vil\u00e1gos \u00fatmutat\u00e1sokat ny\u00fajtunk felhaszn\u00e1l\u00f3inknak arr\u00f3l, hogyan haszn\u00e1lj\u00e1k a legjobban aj\u00e1nlatainkat.<\/p>\n<h3>H\u00e1la szavai<\/h3>\n<p>\nSzeretn\u00e9k k\u00f6sz\u00f6netet mondani a t\u00e1rsaimnak \u00e9s a csapatomnak, Anju Djanak \u00e9s Will Pascuccinak, a kiv\u00e1l\u00f3 egy\u00fcttm\u0171k\u00f6d\u00e9s\u00fck\u00e9rt \u00e9s kem\u00e9ny munk\u00e1juk\u00e9rt ebben a projektben. Szeretn\u00e9m megk\u00f6sz\u00f6nni a Twitter \u00e9s a Google t\u00f6bb csapat\u00e1nak m\u00e9rn\u00f6keit \u00e9s menedzsereit is, akik seg\u00edtettek nek\u00fcnk \u00e9s a Twitter BigQuery felhaszn\u00e1l\u00f3inak, \u00e9rt\u00e9kes visszajelz\u00e9s\u00fckkel.<\/p>\n<p>Ha \u00e9rdeklik ezek a feladatok, n\u00e9zze meg a <noindex><a rel=\"nofollow\" href=\"https:\/\/careers.twitter.com\/content\/careers-twitter\/en\/jobs-search.html?q=&amp;team=careers-twitter%3Ateam%2Finfrastructure-engineering\">\u00e1ll\u00e1saj\u00e1nlatokat<\/a><\/noindex> Data Platform csapatban.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/eD9S\/\">A DWH adatmin\u0151s\u00e9ge \u2013 az adatb\u00e1zis konzisztenci\u00e1ja<\/a><\/noindex><\/p>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/513782\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 OTUS \u043e\u0442\u043a\u0440\u044b\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043a\u0443\u0440\u0441\u0430 \u00abData Engineer\u00bb. \u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043a\u0443\u0440\u0441\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c. \u0427\u0438\u0442\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0421\u0438\u043b\u044c\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 (Strong Data Governance) \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f Twitter Engineering. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0432\u043d\u0435\u0434\u0440\u044f\u0435\u043c BigQuery \u0432 \u043d\u0430\u0448\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043c\u044b \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u0441\u044f \u043d\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":91904,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-91903","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 OTUS \u043e\u0442\u043a\u0440\u044b\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043a\u0443\u0440\u0441\u0430 \u00abData Engineer\u00bb.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kak-bigquery-ot-google-demokratiziroval-analiz-dannyh-chast-2\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a BigQuery \u043e\u0442 Google \u0434\u0435\u043c\u043e\u043a\u0440\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445. \u0427\u0430\u0441\u0442\u044c 2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 OTUS \u043e\u0442\u043a\u0440\u044b\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043a\u0443\u0440\u0441\u0430 \u00abData Engineer\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kak-bigquery-ot-google-demokratiziroval-analiz-dannyh-chast-2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-08-20T05:42:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-20T05:42:18+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Hogyan demokratiz\u00e1lta a Google BigQuery az adat-elemz\u00e9st. 2. r\u00e9sz | ProHoster","description":"Hell\u00f3, Habr! Jelenleg az OTUS-ban elindult az \u00faj \"Data Engineer\" kurzusra val\u00f3 jelentkez\u00e9s.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kak-bigquery-ot-google-demokratiziroval-analiz-dannyh-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a BigQuery \u043e\u0442 Google \u0434\u0435\u043c\u043e\u043a\u0440\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445. \u0427\u0430\u0441\u0442\u044c 2 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 OTUS \u043e\u0442\u043a\u0440\u044b\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043a\u0443\u0440\u0441\u0430 \u00abData Engineer\u00bb.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kak-bigquery-ot-google-demokratiziroval-analiz-dannyh-chast-2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-08-20T05:42:18+00:00","article:modified_time":"2020-08-20T05:42:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"91903","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:18:28","updated":"2022-10-08 11:10:45","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/91903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=91903"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/91903\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/91904"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=91903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=91903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=91903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}