2. #CampusDays
Agenda
Elements in a BIG DATA Project on AZURE
• Walkthrough of the elements needed
HDInsight
• Deploy through Azure Portal
• Deploy with Powershell and Windows Azure SQL Database
• Multiple Storage Accounts and Configuration Values
• Deploy as part of your normal ETL
4. #CampusDays
Elements in a BIG DATA Project on AZURE
• AZURE Account
• Storage Account
• SQL Server
• SQL Databases
• Firewall rules
• HDInsight Cluster
• Data
• Hive Scripts
• Machine Learning
6. #CampusDays
Deployment via AZURE portal
Requirements
• AZURE Account
• Either a free trial
• MSDN Subscription
• Or paid subscription
• Create one here - http://azure.microsoft.com/da-dk/pricing/free-trial/
8. #CampusDays
Deployment via AZURE portal
• SQL Server
• Create either when creating a datebase
• Or alone without a database
9. #CampusDays
Deployment via AZURE portal
• SQL Databases
• Easy created only name, server and subscription needed
10. #CampusDays
Deployment via AZURE portal
• Firewall Rules
• Cluster will not be able to see metastore and cluster creation fails
11. #CampusDays
Deployment via AZURE portal
• HDInsight Cluster
• Needs a storage account
• Firewall rules must be set to allow all AZURE Services
12. #CampusDays
Deployment via AZURE portal
• Upload files to Azure
• Use Azure Explorer
• Upload files yourself
• Import job via portal
• Ship harddrive to Microsoft
• Demo
13. #CampusDays
Deployment via AZURE portal
• Many steps
• Easy to make mistakes
• This will be done over and over again
• Is there another way to make this easier?
• YES!
• Lets have a look at it
16. #CampusDays
Let’s automate it – using PowerShell
• Why Automate it?
• Reliability
• Repeatability
• Save time
• Eliminate tiresome work
• Eliminate manual work
• Manual work is bound to fail at
some point
17. #CampusDays
Let’s automate it – using PowerShell
• Configuration
• Flexible
• Create and recreate
• Upload data to Cluster
• Easy to make changes to project
• Easy to test
21. #CampusDays
Let’s automate it – using PowerShell
• After usage – clean up -> save money
• Script to cleanup cluster
• Storage
• SQL server
• SQL databases
This saves money, and we can easily
recreate the objects needed
23. #CampusDays
Let’s automate it – using PowerShell
• Firewall Rule is required
• Cluster will not be able to see metastore and cluster creation fails
• Allow All Azure Services
• On SQL Server created early
New-AzureSqlDatabaseServerFirewallRule
-ServerName Campusdays2014
-AllowAllAzureServices
-Verbose
24. #CampusDays
Let’s automate it – using PowerShell
• Remember to Add-AzureAccount to your Powershell session.
• Otherwise you’ll get an error.
26. #CampusDays
HDInsight as a part of your ETL
• Normal ETL on-prem
• Benefits of the Cloud
• Staying on-prem
27. #CampusDays
Keep the cost down and the flexibility high
• Supports Hybrid scenarios
• Run on-prem
• Create HDInsight cluster
• Do some cool stuff
• Destroy the cluster
• No need for PowerShell knowledge
28. #CampusDays
HDinsight SSIS Components
• Community driven
• More than 10 SSIS components (Incl. connections)
• First step for moving to the cloud
Title Slide – Insert session title, session code and speaker names
Project this slide while attendees are arriving.
Please do not add additional elements to this slide
Section title slide (Optional)
Vi skal idag kigge lidt på hvad indholdet I en BIG DATA løsning på AZURE kan indeholde
Der kommer en hurtig gennemgang af elementerne , hvad de indeholder og hvad de skal bruges til
Effter denne gennemgang, går vi over til den lidt mere praktiske del, hvor vi kigger på hvordan elementerne kan oprettes
Kan vi gøre det på flere forskellige made, og hvilken er den bedste? Hvis sådan en finds.
Hvad vil jeg opnå med denne løsnig,
Det er målet at stille en stor mængde data til rådighed for en Machine Learning Algoritme som vi skal kigge på senere.
Der skal oprettes et helt project på AZURE som understøtter dette. Vi skal downloade data og uploade det til vores Cluster
Section title slide (Optional)
Man skal selvfølgelig have en AZURE account
En storage account er her der oprettes sql servers, databaser, containers etc. dvs denne SKAL bruges og være på plads når der arbejdes med data på Azure.
SQL server, der skal oprettes en SQL server på azure, som skal hoste alle de databaser der skal benyttes, i dette tilfælde bliver den udelukkende brugt til at gemme META data om HDInsight Clusteret, det oprettes senere
Databaserne, det er selvklart her data gemmes, og der kan oprettes N databaser.
Firewall Rules, disse skal være på plads for at styrer adgangen til databaser og services på AZURE.
Dette er for at tillade trafik og adgang fra de enkelte services til den database der indeholde rmetadata
HDInsight Cluster, dette er AZURES Hadoop løsning, der indeholder alt hvad der skal til for at arbejde med BIG DATA i Skyen
Det er dette cluster der muligt at opload data til iform af eks. CSV filer, som kan lægges i tabeller, for senere at lave forespørgsler på disse via HOVE scripts
Data, det data der skal gemmes i Data containeren skal oploades, dette kan som sagt være alt slags data, tekst, billeder, lyd, blot der er en eller anden form for meta data der kan gøres søgbar via HIVE scripts
Hive Scripts – dette er HADOOP eller HDInsights query language, det min der meget om SQL men der er dog visse begrænsninger på dette. Der skal skrives et HIVE script som man derefter commiter på sin HDINsight – hastigheden på forespørgslerne kan virke langsommeligt, men husk at det er data uden indexes, og det vi kan kalde blandet data.
Lad os starte med at se på hvordan vi kan få deployet elementerne via AZURE portalen, det vil sige manuelt.
Det er et krav at man har en AZURE konto, dette kan enten være en gratis prøve version
En MSDN konto, eller en betalt konto hvor man har mulighed for at sætte en beløbsgrænse på
HUSK at det altid koster penge at have eks. Et HDInsight Cluster stående og være tændt, hvorimod det IKKE koster noget at bruge storage. Med andre ord det er altså CPU tid man betaler for på AZURE.
Her er link til oprettelse af en gratis prøve version
Der er behov for at have oprettet en storage account, denne skal benyttes til at oprette Containers med, det er her data bliver gemt ifbm. blobs på HDInsight Clusteret.
Denne oprettes ved at klikkepå storage, hvor man hjælpsomt får af vide hvis man endnu ikke har oprettet en, skal dette gøres klikkes selvklart på opret storage account.
Det er vigtigt at huske på at en storage accounts navn skal være unikt, da det kommer til at blive benyttet som subdomæne på *.core.windows.net – samt at navnet SKAL skrives med lowercase.
Vælg herefter den location der er tættest på den fysiske lokation der skal benytte storage accounten mest. Dvs. er der tale om en dansk løsning, så vil det kunne betale sig at vælge ”North Europe” mens var vi nu i Seattle, så ville jeg vælge North America. Dette alene pga. netforbindelser og afstande.
Vælg dernæst om din storage account skal være Georedundant, Local redundant, Zone redundant eller Read Access Geo Redundant
Opret en sql server, det er ikke muligt at oprette denne alene, hvorfor der skal gøres samtidigt med at der oprettes en database.
Angiv et databasenavn, vælg den subscription der skal benyttes
New SQL database Server
Lokation, og igen som med Storage Accounten
Vælg herefter den location der er tættest på den fysiske lokation der skal benytte storage accounten mest. Dvs. er der tale om en dansk løsning, så vil det kunne betale sig at vælge ”North Europe” mens var vi nu i Seattle, så ville jeg vælge North America. Dette alene pga. netforbindelser og afstande.
Angiv et brugernavn og password, der skal benyttes ifbm administration af serveren
Har du allerede en SQL server oprettet, kan du oprette en database på denne.
Giv den et navn, vælg din subscription, og derefter en server hvorpå den skal bo.
Det er vigtigt at oprette en Firewall regel der tillader alle AZURE services at tilgå din netop oprettede server og database – gøres dette ikke er det ikke muligt for servicen at benytte databasen
Opret herefter et Hdinsight cCluster,
Angiv et Cluster navn, hvor mange noder der skal benyttes, minimum 2 noder hvis det er produktion. Er det test eller demo kan det være rigeligt med 1 node, dog er der så ikke meget cluster over instansen.
Igen skal der huskes at angives et brugernavn og et password til administrationen af clusteret
Ship harddrives to Microsoft, these have to be encrypted with bitlocker
Section title slide (Optional)
Konfigurerbar, det er muligt at lave alle
Hvorfor automatisere arbejdet for at skabe stabilitet, gentagelser, spar tid,
Slippe for det kedelige arbejde, og skabe tid til at lave det spændende.
Opgaven med at oprette og nedlægge instanser på Azure er trivielle og det skal gå galt på et tidspunkt, da det er manuelt arbejde.
Demo placeholder (Optional)
Demo placeholder (Optional)
Demo placeholder (Optional)
Content slide – (white background)
Section title slide (Optional)
Normal ETL process on-premises, mix with jobs in the cloud.
Extrapolates. As a developer I know SSIS but not Hive or Sqoop….