FÁZE PRVNÍ – Data, data, data?

01.12.2018

Na datech to stojí...

Na základě několika hodinového hledání na webu jsme vybraly tyto dva zdroje dat:

1/ IMDB dataset - filmová databáze filmů, která je pro veřejnost volně dostupná.

2/ Data z API od OMDB.com.

Dataset z IMDB neobsahuje veškeré informace, chybí zejména anotace a obrázky k filmům/seriálům. Pro doplnění těchto dat jsme právě využily API z OMDB.com.

Při vývoji aplikace jsme abstrahovaly od aktualizace filmové databáze o nové filmy, v tomto ohledu jsme pracovaly se statickými daty.

Databáze z IMDB

Po neúspěšném pokusu importovat databázi z IMDB do Snowflake (databáze má totiž 5.362.531 řádků, téměř 10 GB) nám Lukáš doporučil použít SQL Server Express (tato verze naštěstí zvládla pojmout naše data) a SQL Management Studio. Pro nás to byly nové nástroje, takže bylo třeba shlédnout pár video-tutoriálů (Youtube postačil), základy jsme z toho pochopily a zbytek jsme se naučily "při pochodu" a nebo nám to ukázal Lukáš.

Zpět k databázi - dataset od IMDB se skládal ze 7 datových souborů, které bylo třeba spojit v jednu databázi pomocí skriptu. V této fázi nám s importem datasetu do SQL Serveru pomocí scriptu pomohl Lukáš.

Původní dataset měl následující strukturu:

Pak jsme již databázi podrobily bližší analýze - datové typy, jaké informace o filmech a v jaké podobě nám databáze poskytuje, co nám chybí atd. Zjistily jsme například, že databáze obsahuje filmy od r. 1874, jde o filmy z celého světa (vč. záznamů o všech možných jazykových verzích).

Data z API

Jak jsme již zmínily, naše databáze neobsahovala obrázky a anotace k filmům, bylo třeba najít ještě další, doplňující zdroj. K tomu jsme využily API od omdb.com. Po vyplnění krátkého formuláře od tvůrců API jsme bez problému získaly API key.

A po prostudování dokumentace k API jsme si s využitím našich nových znalostí z hodin Pythonu napsaly prográmek, který nám po zadání jména filmu a roku poskytl naši kýženou anotaci (bohužel ale v anglickém jazyce) a webový odkaz na poster k filmu. Tím jsme si ověřily, že nám API klíč funguje a budeme moci tento zdroj použít. Ukázka našeho prográmku v Pythonu:

Tím první fáze - fáze přípravy hrubých dat - byla u konce. Následoval návrh architektury webu