I förra inlägget beskrevs hur Azure Data Lake kan användas för att skynda upp analysarbetet av stora mängder klimatdata. Det är redan i sig en stor fördel för analytiker som därmed kan vara effektivare i sitt arbete, men det är dock inte den enda.

Först en kort beskrivning av tekniken. Azure Data Lake består av Store och Analytics, vilka hanterar lagring respektive analys av stora mängder data. Frågespråket som används i Azure Data Lake Analytics heter U-SQL och är baserat på SQL, men har utökats med stöd för C# för att kunna ställa ännu kraftfullare frågor.

Under uppdraget kopierade vi en delmängd av deras klimatdata (1460 filer på totalt ca 10 TB) till Azure Data Lake Store och för att kunna analysera den implementerades ett skript i U-SQL. Där fanns emellertid bara inbyggt stöd för indata i textformat (exempelvis CSV-filer) och eftersom klimatdatan var lagrad i NetCDF-filer, så var vi tvungna att implementera en s.k. custom extractor i .NET för att kunna läsa NetCDF-filerna med U-SQL. NetCDF är ett binärformat som används mycket för lagring av klimatdata, vilket betyder att datan sparas i ”svårläslig” maskinkod.

Fördelar

Dynamisk allokering

Idag använder sig deras dataanalytiker av Python, R och diverse kommandorads-verktyg för att analysera och visualisera klimatdatan, som är lagrad i NetCDF-filer hos ett amerikanskt forskningsinstitut. Det är en lösning som fungerat väl i många år, men som också har flera baksidor. Verktygen behandlar nämligen filerna sekventiellt, vilket gör det hela till en extremt tidskrävande process att exempelvis beräkna kommande klimatförändringar. Dessutom tar det ju upp väldigt mycket utrymme, vilket forskningsinstitutet gärna vill frigöra sig från. Den enda lösningen på detta är såklart att flytta på datan, men frågan är vart? Blickarna höjdes, som alltid, mot molnen.

Integrerat med Visual Studio

Utvecklare som är vana vid Visual Studio kommer snabbt igång med Azure Data Lake eftersom det är en bekant miljö. Man kan använda Visual Studio för att köra, debugga och optimera koden. Visualisering av dina analysjobb låter dig se hur din kod exekveras och parallelliseras så att du enkelt kan hitta flaskhalsar och optimera kostnaden.

U-SQL

U-SQL är byggt för att göra Big Data-teknologi mer lättillgänglig, och förenar det för många bekanta SQL med uttrycksmöjligheterna i C#. Microsoft har även börjat lägga till stöd för Python och R, samt har lovat att lägga till Java senare. Meningen är att så mycket kod som möjligt ska gå att återanvända i U-SQL. Det återstår dock att se hur bra stödet för Python och R blir, innan all dokumentation är på plats.

Integrerat med Azure Active Directory

Azure Data Lake Analytics är integrerat med Azure Active Directory för vilket underlättar för IT bland annat genom att en enda inloggning kan användas för tusentals molnappar, så som Office 365, Dropbox och Salesforce med mera.

All data på samma ställe

Azure Data Lake Analytics är optimerat för Azure Data Lake Store, men man kan även analysera data i exempelvis Azure Blob Storage och Azure SQL Database. Det är med andra ord väldigt flexibelt och anpassningsbart efter just era behov.

Detta blogginlägg är en del av en bloggserie om vår implementering av Azure Data Lake hos DNV GL och följer upp “Molndata i molnet” som beskriver vad uppdraget gick ut på.