Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Před načtením do cíle vhodného pro analýzu obvykle potřebujete vyčistit a transformovat příchozí data. Operace extrakce, transformace a načítání (ETL) slouží k přípravě dat a jejich načtení do cíle dat. Apache Hive ve službě HDInsight může číst v nestrukturovaných datech, zpracovávat data podle potřeby a pak je načíst do relačního datového skladu pro systémy podpory rozhodování. V tomto přístupu se data extrahují ze zdroje. Pak se uloží v přizpůsobitelném úložišti, jako jsou objekty blob služby Azure Storage nebo Azure Data Lake Storage. Data se pak transformují pomocí posloupnosti dotazů Hive. Následně je v rámci Hivu připraven pro hromadné načtení do cílového úložiště dat.
Přehled případů použití a modelu
Následující obrázek ukazuje přehled případu použití a modelu pro automatizaci ETL. Vstupní data se transformují tak, aby vygenerovala příslušný výstup. Během této transformace se změní tvar dat, datový typ a dokonce jazyk. Procesy ETL můžou převést Imperial na metriku, změnit časová pásma a zlepšit přesnost, aby správně odpovídaly stávajícím datům v cíli. Procesy ETL mohou také kombinovat nová data s existujícími daty, aby byly sestavy aktuální, nebo poskytovat další přehled o existujících datech. Aplikace, jako jsou nástroje pro vytváření sestav a služby, pak mohou tato data využívat v požadovaném formátu.
Hadoop se obvykle používá v procesech ETL, které importují enormní počet textových souborů (například CSV souborů). Nebo menší, ale často se měnící počet textových souborů nebo obojí. Hive je skvělý nástroj, který slouží k přípravě dat před jejich načtením do cíle dat. Hive umožňuje vytvořit schéma přes CSV a pomocí jazyka podobného jazyku SQL generovat MapReduce programy, které interagují s daty.
Typický postup použití Hivu k etL je následující:
Načtěte data do Služby Azure Data Lake Storage nebo Azure Blob Storage.
Vytvořte databázi úložiště metadat (pomocí Azure SQL Database) pro použití Hivem při ukládání vašich schémat.
Vytvořte cluster HDInsight a připojte úložiště dat.
Definujte schéma, které se má použít při čtení dat v úložišti dat:
DROP TABLE IF EXISTS hvac; --create the hvac table on comma-separated sensor data stored in Azure Storage blobs CREATE EXTERNAL TABLE hvac(`date` STRING, time STRING, targettemp BIGINT, actualtemp BIGINT, system BIGINT, systemage BIGINT, buildingid BIGINT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE LOCATION 'wasbs://{container}@{storageaccount}.blob.core.windows.net/HdiSamples/SensorSampleData/hvac/';
Transformujte data a načtěte je do cíle. Během transformace a načítání můžete Hive použít několika způsoby:
- Připravte a zpracujte data pomocí Hive a uložte je jako CSV v Azure Data Lake Storage nebo úložišti objektů blob Azure. Pomocí nástroje, jako je SQL Server Integration Services (SSIS), získejte tyto CSV soubory a načtěte data do cílové relační databáze, jako je SQL Server.
- Dotazujte se na data přímo z Excelu nebo jazyka C# pomocí ovladače Odbc Hive.
- Pomocí Apache Sqoopu můžete číst připravené ploché soubory CSV a načíst je do cílové relační databáze.
Zdroje dat
Zdroje dat jsou obvykle externí data, která se dají spárovat s existujícími daty v úložišti dat, například:
- Data sociálních médií, soubory protokolů, senzory a aplikace, které generují datové soubory.
- Datové sady získané od poskytovatelů dat, jako jsou statistiky počasí nebo prodejní čísla dodavatelů.
- Streamování dat zachycených, filtrovaných a zpracovaných prostřednictvím vhodného nástroje nebo architektury
Výstupní cíle
Hive můžete použít k výstupu dat do různých druhů cílů, mezi které patří:
- Relační databáze, jako je SQL Server nebo Azure SQL Database.
- Datový sklad, jako je Azure Synapse Analytics.
- Excel.
- Úložiště tabulek a blobů Azure.
- Aplikace nebo služby, které vyžadují zpracování dat do konkrétních formátů, nebo jako soubory, které obsahují konkrétní typy informační struktury.
- Úložiště dokumentů JSON, jako je Azure Cosmos DB.
Úvahy
Model ETL se obvykle používá v následujících případech:
*
Načtěte proud dat nebo velké objemy částečně strukturovaných či nestrukturovaných dat z externích zdrojů do existující databáze nebo informačního systému.
*
Před načtením data vyčistíte, transformujte a ověříte, například pomocí více než jedné transformace procházející clusterem.
*
Generujte sestavy a vizualizace, které se pravidelně aktualizují. Pokud například generování sestavy trvá příliš dlouho, můžete naplánovat spuštění sestavy v noci. K automatickému spuštění dotazu Hive můžete použít Azure Logic Apps a PowerShell.
Pokud cíl dat není databáze, můžete vygenerovat soubor v příslušném formátu v dotazu, například csv. Tento soubor pak můžete importovat do Excelu nebo Power BI.
Pokud potřebujete v rámci procesu ETL provést několik operací s daty, zvažte, jak je spravujete. Při operacích řízených externím programem, nikoli jako pracovním postupem v rámci řešení, se rozhodněte, jestli se některé operace dají spustit paralelně. A zjistit, kdy se každá úloha dokončí. Použití mechanismu pracovního postupu, jako je Oozie v rámci Systému Hadoop, může být jednodušší než pokus o orchestraci posloupnosti operací pomocí externích skriptů nebo vlastních programů.