BigQuery – mi ez és hogyan kezdjük el használni? [Tutorial]

11/06/2020

BigQuery – mi ez és hogyan kezdjük el használni?

Az adat korunk aranya – tudják ezt a fejlesztésre összpontosító vállalatok és szervezetek is. A tudatos vállalkozások elemzik a meglévő folyamatokat, és változtatásokat, fejlesztéseket vezetnek be a számok alapján. Némelyikük tovább megy – felhasználva a technológia kínálta lehetőségeket, megjósolják a trendeket, a piacon várható változásokat és a még meg nem hozott üzleti döntések hatásait.

Az üzleti tevékenység növekedésével az adatkészletek növekednek – a gigabájtból terabájt vagy petabájt lesz. Egy elemzési eszköz fenntartásának és a jelentéskészítés rövid időtartamának megfelelő szintű fenntartása érdekében biztosnak kell lennünk benne, hogy a megfelelő technológiát választjuk. A BigQuery – a BigData-elemzések elvégzésének szentelt szolgáltatás, amely számos elemzési eszközt, köztük a népszerű Google Analytics szolgáltatást is tartalmazza, és ezzel felbecsülhetetlen értékű segítséget nyújt a cégek számára.

Mi a BigQuery a Google-tól?

Skálázható felhő adattárház. Lehetővé teszi a lekérdezések millióinak kezelését és petabájtnyi adat fejlett elemzését az SQL-ben anélkül, hogy aggódnia kellene a fejlett infrastruktúra költséges karbantartása miatt.

A BigQuery az egyik a számos programnak, amelyet elérhetsz a Google Cloud Platformon (GCP). Az adatok tárolása és elemzése a felhőben történik, a GCP stabil, biztonságos és skálázható infrastruktúrájában. Itt tudhatsz meg többet arról, hogy mi az a Google Cloud Platform, és hogyan támogatja a vállalkozásokat.).

A szolgáltatás segítségével létrehozhat saját elemző eszközt, amelyet a fejlődés, folyamatok vagy folyamatban lévő események nyomon követésére használnak – például a vállalaton belül vagy annak környékén. A gépi tanulással (ML) kombinálva lehetővé teszi egy olyan rendszer felépítését, amely például megjósolja a különböző tényezők előfordulását és figyelembe veszi azok lehetséges hatásait. A BigQuery segíthet a meglévő BigData elemző rendszer teljesítményének és fenntartása költségeinek optimalizálásában is.

Szerver nélküli technológia

A BigQuery egy felhőalapú adattárház. A Google Cloud Platform szolgáltatásainak használatával a vállalkozása fejlesztésére és az elemzések legjobb kihasználására koncentrálhat. Nem kell további időt és költséget fordítani az infrastruktúra karbantartására, a szerver biztonságának megfelelő szintű frissítésére vagy biztosítására.

Azonnali elemzés

A terabájtos adatok feldolgozása a BigQuery segítségével másodperceket vesz csak igénybe, íg egy petabájt feldolgozása körülbelül 3 perc. A raktárak (warehouse) több tucatszor gyorsabban dolgoznak fel nagy adatsorokat, mint az adatbázis-rendszerek. Ennek eredményeként az elemzés akár valós időben is elvégezhető, és a változások „élőben” megfigyelhetők.

Rugalmas költségek

A BigQuery szolgáltatás költségei alkalmazkodnak a jelenlegi üzleti követelményekhez. Csakúgy, mint GCP esetében, itt is a felhasználás alapján fizet. Az adattárolás (data storage) 20 USD/TB. Ha az adatokat 90 vagy több napig nem dolgozzák fel, a csomag hosszú távú tárolásra vált, és a szolgáltatás ára 50%-kal csökken. Az adatfeldolgozás 5 USD/TB-ba kerül, de minden hónap első terabájtja ingyenes.

Ez a díjfizetési módszer azt jelenti, hogy a TCO (Total Cost of Ownership) három év alatt átlagosan 30%-kal alacsonyabb, mint más BigData elemzési megoldások esetében.

Nincs beavatkozás a forráskódba

A BigQuery használatához nincs szükség nagy változtatásokra vagy a forráskód átírására. Ez annak köszönhető, hogy a BigQuery támogatja az ANSI SQL: 2011 szabványt, és ingyen biztosítja az ODBC és a JDBC programozási felületeket.

Automatikus biztonsági mentés

Az eszköz automatikus biztonsági mentést hajt végre, és a változások előzményeit 7 napig tárolja. Ez lehetővé teszi az eredmények egyszerű összehasonlítását az előző időszakkal vagy az adatok visszaállítását.

Adatok elemzése különböző forrásokból

A BigQuery segítségével különböző forrásokból származó adatokat elemezhet – olyanokból, mint a Google Marketing Platform, a Google Analytics, a YouTube és a külső SaaS-alkalmazások százaiból. Az adatok a GCP-n kívüli infrastruktúra-megoldásokból is továbbíthatók a BigQuery-be.

A gépi tanulás (ML) támogatása

Az elérhető funkciók egyike a BigQuery ML, amelynek feladata a gépi tanulási képességek létrehozása és fejlesztése szabványos SQL lekérdezések segítségével. A BigQuery ML növeli a gépi tanulásra képes termékek fejlesztésének sebességét, miközben csökkenti a forráskód írására és az adatok hordozhatóságára vonatkozó követelményeket.

Üzleti elemzés (BI)

A BigQuery kiváló eszköz üzleti elemzések (BI – business intelligence) készítéséhez. A szolgáltatás lehetővé teszi hatalmas adatkészletek elemzését és kiterjedt jelentések készítését másodpercek alatt. Támogatja az „ad hoc” jelentések létrehozását is – vagyis olyan jelentéseket, amelyek egy bizonyos szelet adatot tartalmaznak, és az összefoglaló elkészítéséhez nem szükséges az analitikai vagy az informatikai részleg bevonása.

Mindkét esetben a jelentéseket olyan adatmegjelenítő eszközökkel lehet bemutatni, mint a Google Data Studio, a Looker vagy a Tableau.

A BigQuery használata – példa:

me néhány példa arra, hogyan használják jól ismert vállalatok a BigQuery-t:

  • A UPS minden nap több százezer küldeményről gyűjt be adatokat – ami tartalmazza a súlyukat, a méretüket és a helyüket. A gépi tanulás és az adatelemzés lehetőségének köszönhetően a vállalat hibátlanul képes meghatározni, hogyan osszák be a kisteherautókat vagy konténereket a hatékonyság lehető legnagyobb növelése érdekében. A rendszer lehetővé teszi a megnövekedett forgalom időszakaira való felkészülést is – például karácsony körül;
  • A 20th Century Fox a Google Cloud szolgáltatásait használja, beleértve a BigQuery-t és a gépi tanulást. Nézői preferenciamintákat hoz létre, és elemzi a filmelőzeteseket, hogy meghatározza az adott produkció sikerének esélyét;
  • A Safari Books Online milliónyi felhasználóval rendelkező könyvtár, több mint 30.000 könyvvel és filmmel. A Safari Books Online a BigQuery használatával kezeli a már meglévő adatokat, és azok alapján ajánl termékeket az olvasóknak;
  • A Dow Jones (DJIA) az egyik legnagyobb tőzsdeindex, amely olyan vállalatokat tartalmaz, mint az Apple, az Amazon és a Boeing. A Dow a BigQuery és az ML segítségével építi fel az adat-, hír- és elemzési platformot (DNA), amely lehetővé teszi a vállalatok számára az események hatásainak elemzését – például milyen tőzsdei változások okozott az Irma hurrikán;
  • A Spotify a BigQuery segítségével éri el, hogy a lejátszó gomb megnyomása után a felhasználó egy pillanatra belehallgathat a számba. Nem lenne ebben semmi szokatlan, ha nem tudnánk, hogy a platformot több mint 200 millió felhasználó használja, és naponta 40 000 új dalt és felvételt adnak hozzá.

Hogyan kezdjünk hozzá? Lépésről lépésre

A BigQuery használatának megkezdéséhez Google Cloud Platform fiókkal kell rendelkeznünk. Emellett értenünk kell az SQL-hez.

Lépj be az alábbi oldalra Google konzol.

Válaszd ki a projektet, amin dolgozni fogsz. A projektek listája a Google Cloud Platform fejléc mellett található legördülő menüben található

jak zaczac z BigQuery krok 1

A projekt kiválasztása után válaszd a Cloudshellt a jobb felső sarokban.

jak zaczac z BigQuery krok 2

Ekkor ez a nézet jelenik meg:

jak zaczac z BigQuery krok 3

Az adatbázis áttekintéséhez és az általános információk (séma, sorok száma, méret) megtekintéséhez használd az alábbi parancsot:

bq show bigquery-public-data:samples.shakespeare

Így fog kinézni a parancsra adott válasz:

jak zaczac z BigQuery krok 4

A bq parancsokban a –use_leagcy_sql jelzőt fogjuk használni – ez a standard SQL-t állítja be a lekérdezés nyelveként.

A lekérdezés érvényesítéséhez és ellenőrzéséhez csak add hozzá a dry_run flaget. Itt egy példa az ezzel a flaggel feltett kérdésre:

bq query --use_legacy_sql=false --dry_run \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
LIMIT 5'

jak zaczac z BigQuery krok 5

Amennyiben az adatbázisba küldött kérdés megfelelő, akkor meg lehet tekinteni a választ rá az alábbi faggel: –dry_run

bq query --use_legacy_sql=false \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
LIMIT 5'

Így néz a válasz egy fenti típusú kérdésre:

jak zaczac z BigQuery krok 6

Ahhoz, hogy megkülönböztessük az adatokat a rekordoktól, használhatjuk a where klauzulát, ami konkrét értékek, szabályok vagy szabályos kifejezések között szelektál. Ha az adatbázisból csak olyan rekordokat akarunk elkülöníteni, amely tartalmazza a  raising szót, akkor az alábbi parancsot kell használnunk.

bq query --use_legacy_sql=false --dry_run \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word = "raising"
LIMIT 5'

Először végre kell hajtani a kérdés érvényességi vizsgálatát.

jak zaczac z BigQuery krok 7

Ezután futtatni az alábbi parancsot –dry_run nélkül:

bq query --use_legacy_sql=false \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word = "raising"
LIMIT 5'

jak zaczac z BigQuery krok 8

Ha ellenőrizni szeretnénk, hogy hány ilyen rekord van az adatbázisban, akkor használjuk az  összesítési függvényt COUNT(az a rekord, amelyet meg akarunk számlálni). A lekérdezésnek így kell kinéznie:

bq query --use_legacy_sql=false \
'SELECT
COUNT(word) as num_of_words
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word = "raising"’

 

Az egyes táblázatokhoz saját nevet rendelhetünk. Ebben az esetben van egy nevünk, amely leírja, hogy mit összesítettek egy adott oszlopban. A lekérdezés eredménye így néz ki:

 

jak zaczac z BigQuery krok 9

Tegyük fel, hogy meg akarunk találni minden olyan elemet, amely a raisin szót tartalmazza. Ebben az esetben a LIKE kulcsszót kell használni, hogy az adott kulcs alapján tudjunk keresni. 

Ha a % jelet a keresett szó elé tesszük, akkor a rendszer az előtaggal, pl. dispraisin is figyelembe veszi az eredményeket. Ha mindkét oldalon előjelet adunk hozzá, például %raisin%, akkor elő- és utótaggal egyaránt elátott eredményeket is kapunk, például pl. dispraisin.

Ha egynél több oszlopunk van összesített függvénnyel, akkor a GROUP BY paranccsal kell jeleznünk, hogy mely oszlopok szerint szeretnénk csoportosítani a sorokat.

bq query --use_legacy_sql=false \
'SELECT
word,
COUNT(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'

A kérdésre adott eredmény így néz ki:

jak zaczac z BigQuery krok 10

Győződj meg GCP és a BigQuery által nyújtott lehetőségekről

A BigQueryben rejlő potenciálról a gyakorlatban győződhetünk meg a legjobban. Ha szeretnéd megtudni, hogy milyen lehetőségeket kínál a te és az üzleted számára a Google Cloud (beleértve az elemzési szolgáltatásokat), akkor vedd fel a kapcsolatot egy hivatalos Google Cloud Premier Partnerrel

500 dolláros utalványt kapsz a Google Cloud Platformon végzett első tevékenységeidhez, és a Fly On The Cloud szakemberei segítenek felfedezni a BigQuery lehetőségeit.

 

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close