Azure HDInsight klik-for-klik-guide: Få cloud-baseret Hadoop op at køre i dag

  • Nov 01, 2023

I dette galleri viser vi dig, hvordan du klargør, logger på, arbejder på kommandolinjen, bruger nogle grundlæggende værktøjer og derefter forbinder til data i din HDInsight-klynge fra Excel og Power BI.

De første par klik i opsætningen af ​​HDInsght er nemme: Klik først på knappen "Ny" (gengivet som et "+"-tegn) øverst til venstre, vælg derefter kategorien "Intelligence and analytics", og vælg til sidst HDInsight sig selv. Disse markeringer er fremhævet i røde rektangler i dette dias. Efterfølgende slides er ligeledes visuelt kommenterede.

HDInsight-provisionerings-"bladet" er det næste, der vises i Azure-portalen. Flere af genstandene i klingen vil åbne op for yderligere klinger til højre for detaljerne. Vi gennemgår de vigtige i dette galleri.

Start med at indtaste et navn til din klynge. Navnet skal være unikt på tværs af alle HDInsight-klynger, fordi ".azurehdinsight.net" vil blive tilføjet til det for at gengive internetværtsnavnet, som du vil oprette forbindelse til det med.

Efter indtastning af navnet vises et grønt flueben til højre, hvis navnet består unikhedstesten. Hvis markeringen vises, før du er færdig med at skrive, er det OK; bare fortsæt med at indtaste tegn, indtil du er færdig, og bekræft derefter, at fluebenet vises igen. Hvis du i stedet ser et rødt udråbstegn, betyder det, at du skal ændre klyngenavnet.

Når du er færdig, skal du klikke på sektionen "Klyngekonfiguration" i formularen under sektionen "Klyngenavn".

Nu skal du angive den type HDInsight-klynge, du ønsker, og derefter, afhængigt af den valgte type, vælge en version af HDInsight (og Hadoop), du vil bruge. Du skal muligvis også vælge et operativsystem. Vi vil se på klyngetype og operativsystemindstillinger i de næste to slides.

Her er den fulde liste over klyngetyper. Det Hadoop type er netop det -- en klynge konfigureret på en generel måde til generelle Hadoop-opgaver. Mens den klyngetype inkluderer andre komponenter, herunder HBase (en NoSQL-database, hvis tabeller er Hadoop Distributed File System-filer), er der ikke desto mindre en klyngetype, der er optimeret til HBase-arbejde. Den tredje type er optimeret til streaming af dataapplikationer ved hjælp af Storm. En anden klyngetype er gearet til at arbejde med den distribuerede in-memory-teknologi kendt som Gnist, som også inkluderer udvikler "notesbøger", som vi vil se på senere.

Interactive Hive-klyngetypen er i preview og lader dig arbejde med en ny tilstand af Hive hedder LLAP (Leve længe og bearbejde) som bruger caching og andre optimeringer til at levere det, som udviklingsteamet bag siger, er responstider på sub-sekunders forespørgsler. Den næstsidste klyngetype lader dig kode mod Spark ved hjælp af Microsofts R Server (MRS) produkt, og den sidste type lader dig bygge streamingdataapplikationer vha Kafka.

Hadoop, HBase, Storm, Spark, Hive og Kafka er alle Apache Software Foundation open source-projekter.

I den bredere verden af ​​Big Data kører Hadoop altid på Linux. Men HDInsights oprindelige krav om berømmelse var, at det var en Microsoft- og Hortonworks-produceret port til Windows. Microsoft tilbyder nu Hadoop, der kører på begge operativsystemer, men Linux er nu de facto standard, og kun de første tre klyngetyper, der er angivet i det sidste slide, er tilgængelige på Windows.

På billedet her er valget af den generiske Hadoop-klyngetype, med Linux valgt som OS. Bemærk de fem funktioner, fremhævet i midten til venstre, der er tilgængelige på grund af dette valg, og den ene funktion, der er fremhævet i midten til højre, er det ikke.

Den måske mest bemærkelsesværdige funktion, der er tilgængelig på grund af valget af Linux som OS, er "HDInsight-applikationer". Siden Hadoop-økosystemet er fuldt Linux-fokuseret, mange tredjepartsapplikationer er kun kompatible med HDInsight, når det kører på open source OS.

Din HDInsight-klynge vil være en internet-vendt ressource. Som sådan skal du konfigurere login-legitimationsoplysninger, så kun autoriserede parter kan oprette forbindelse til det. Faktisk skal du bruge to sæt legitimationsoplysninger, et til at oprette forbindelse til browserbaserede administrationsværktøjer og Hive-databaser, og et andet til at etablere SSH (Secure SHell) terminalsessioner.

Dette blad i portalen lader dig angive begge legitimationsoplysninger. Bemærk, at brugernavnene ikke kan være de samme, og selvom begge skal have komplekse adgangskoder, er det særlige reglerne for krav til adgangskodekarakter og længde er forskellige for hver af de to legitimationsoplysninger sæt.

Datakildeindstillingerne for HDInsight-klynger kan virke komplekse i starten, men der er en meget enkel forklaring, der vil afklar, hvad der foregår: HDInsights implementering af HDFS (Hadoop Distributed File System) er baseret på Azure-blob opbevaring. Som sådan skal du angive en Azure-lagringskonto og en blob-beholder, der vil udgøre HDFS-diskenheden for din klynge.

Du kan bruge en eksisterende konto eller oprette en ny på farten. Scenariet vist her er et, hvor brugeren er ved at klikke på knappen "Vælg eksisterende" for at bruge en Azure-lagringskonto, der allerede er oprettet.

Når du har valgt din lagerkonto, skal du indtaste navnet på en ny eller eksisterende blob-beholder i kontoen, der skal bruges til din klynges fillagring. Hvis du vælger en eksisterende container, kan din nye klynge genoprette forbindelse til lager, der bruges af en tidligere de-provisioneret HDInsight-klynge. Hold øje med det fremhævede grønne flueben -- det indikerer, at det containernavn, du har angivet, er blevet valideret. Klik nu på "Vælg" for at gå videre til næste klargøringstrin.

Klik på "Cluster size" i hovedforsyningsbladet for at åbne "Pricing"-bladet, som lader dig dimensionere din klynge. Specifikt kan du vælge antallet af arbejdernoder i klyngen. Hver node er en separat virtuel Azure-maskine, så jo flere noder du har, jo mere vil det koste at køre din klynge. Standardantallet af arbejdernoder er 4. Juster tallet op eller ned, afhængigt af dine behov. Den opdaterede pris pr. time for at køre klyngen vil blive vist i midten af ​​bladet. Hvis du bare opretter klyngen til praktiske læringsformål, kan det være en god idé at tilpasse den til kun 1 eller 2 noder.

Valgfrit kan du også angive den virtuelle maskintype, der skal bruges til hovedknudepunkter og/eller arbejderknudepunkter. Når du er færdig, skal du klikke på knappen "Vælg" for at komme videre.

Du er ved målstregen nu! Angiv navnet på en ny eller eksisterende Azure-ressourcegruppe for at indeholde alle de klargjorte ressourcer, marker afkrydsningsfeltet "Fastgør til dashboard", og klik derefter på knappen "Opret", når du er klar. Bemærk, at den anslåede klargøringstid for en standard Hadoop-klynge er 20 minutter – og andre typer kan tage længere tid. Så efter du har klikket på "Opret", vil du være i stand til at holde en lille pause.

Før du går, skal du vente på, at portalen omdirigerer dig til dit dashboard, og se efter, at flisen på billedet her dukker op. Det giver fin positiv feedback om, at arbejdet rent faktisk foregår, og at din klynge er ved at blive bygget. (Bemærk, at hvis du forsømte at klikke på afkrydsningsfeltet "Fastgør til dashboard" i det forrige trin, vises denne flise ikke.)

Når implementeringen er fuldført, omdirigerer Azure Management-portalen dig til denne skærm. Bemærk de mange tilgængelige muligheder, inklusive dem til at åbne klyngens dashboard og skalere (ændre størrelsen) af klyngen, samt links til dokumentation og "Quickstart"-materialer.

Klik på knappen "Cluster dashboard" i midten af ​​skærmen, og knappen "HDInsight cluster dashboard" vises øverst til højre. Klik på den knap for at oprette forbindelse til Apache Ambari, open source Hadoop-styringskonsolsoftwaren, der bruges af HDInsight.

Før du kan komme ind på Ambari, skal du angive legitimationsoplysninger. Brug det første bruger-id og adgangskodepar, du angav, da du klargjorde klyngen. Bemærk også, at hvis du gerne vil vende tilbage til Ambari uden at bruge Azure-administrationskonsollen, kan du blot pege din browser på https://.azurehdinsight.net, hvor er det navn, du tildelte din klynge under klargøring ("bluebadgehdi" i dette tilfælde).

Forudsat at du har indtastet dine legitimationsoplysninger korrekt i udfordringslogin-dialogen, skulle du nu finde dig selv på Ambari-hovedskærmen. Selvom dette værktøj er designet til klyngestyring (bemærk listen og ydeevneindikatorerne for alle de tjenester, der kører på klyngen), er vores formål her at bruge en Ambari "visning", specielt designet til Hive (som jeg vil beskrive i det næste glide). Adgang til denne visning opnås ved at klikke på "tic tac toe"-ikonet til højre for den øverste nav-bjælke og derefter vælge "Hive view".

Indtil videre kan hele HDInsight-miljøet have følt sig en smule fremmed, men nu burde næsten enhver udvikler eller dataperson føle sig hjemme. Det skyldes, at Hive ikke er andet end et SQL-baseret databasesystem, implementeret på HDFS, og denne Hive-visning giver et arbejdsområde til at indtaste og udføre forespørgsler i HiveQL, Hives dialekt af SQL.

På hver HDInsight-klynge er Hive forudkonfigureret med en enkelt tabel med eksempeldata kaldet, logisk nok, "hivesampletable." På fanen Databaser i midten til venstre skal du bore ned på "standard"-databasens node, og du vil se en node for hivesampletable vises. I regnearksruden kan du indtaste en simpel SELECT *-forespørgsel mod tabellen og klikke på "Udfør" for at se dens struktur og indhold.

Efter en kort pause vises resultatsættet. Bemærk, at hivesampletable indeholder data vedrørende mobiltelefoner og deres kommunikation med mobilmaster, inklusive operativsystemet, producent og model af telefonen (i kolonnerne "deviceplatform", "devicemake" og "devicemodel"), den stat og det land, hvor tårnet er placeret ("stat" og "land"-kolonner) og varigheden af ​​interaktionen mellem enheden og tårnet ("querydwell-tiden" kolonne).

Andre kolonner er til stede, men det vil være dem, vi vil være mest interesserede i.

Klik på diagramknappen mod midten til højre på skærmen, og du vil blive ført til en skærm, hvor du kan tegne dine forespørgselsresultater i stedet for at se dem som tekst i et gitter. I dette tilfælde har vi valgt enhedsplatform for x-aksen, SUM af querydwell-tid for y-aksen og søjlediagram som visualiseringstype.

Ikke dårligt for en simpel forespørgselsfacilitet begravet i klyngens administrationskonsol!

Hvis du ikke har lyst til at bygge diagrammer manuelt, skal du blot klikke på fanen "Data Explorer" øverst til venstre for at se en masse automatisk genererede diagrammer i stedet. Nogle af de genererede diagrammer vil være mere nyttige end andre.

Der er selvfølgelig andre steder at køre dine forespørgsler. For eksempel vil brugere af Spark-klyngetypen have adgang til Zeppelin og/eller Jupyter notesbøger. Notebooks er en slags en mashup af wiki-sider, kodeeditorer og kodeoutput; brugere af Spark-klyngetypen kan bruge notesbøger til at skrive kode mod Spark i Scala eller Python.

Zeppelin-notebooks er tilgængelige, når du vælger "Spark 1.6.2 (HDI 3.5)" i rullemenuen "Version" på bladet "Cluster configuration" under klargøring. Dette dias viser en Zeppelin-notesbog med en lille smule Python-kode i bunden og noget Spark SQL-kode (i det væsentlige HiveQL) øverst. Outputtet af SQL-forespørgslen er blevet visualiseret som et områdediagram.

En anden måde at oprette forbindelse til og arbejde med HDInsight på er via kommandolinjen over en SSH-terminalsession.

Tilbage i Azure-portalen skal du klikke på knappen "Secure Shell (SSH)" nederst til venstre, og derefter kopiere SSH kommandostreng ind i dit udklipsholder ved at bruge knappen "Klik for at kopiere" mod midten af skærmen.

Kommandostrengen, du har kopieret til dit udklipsholder, vil fungere som den er i et terminalvindue på Mac'en eller ved en Linux-kommandoprompt. Hvis du kører Windows 10 og har installeret dets nye Windows-undersystem til Linux (en preview-funktion), kan du også bruge kommandoen direkte ved Bash på Ubuntu på Windows-prompten, som vist her.

Hvis du kører en tidligere version af Windows end Windows 10 eller ikke har Windows-undersystemet til Linux installeret, kopier kun SSH-værtsnavnet fra portalen i stedet for hele kommandolinjestrengen. Du kan derefter downloade PuTTY applikation til Windows og tænd en SSH-forbindelse der.

Som du kan se i dette skærmbillede, indsæt kommandostrengen og indtast SSH-adgangskoden (fra anden sæt legitimationsoplysninger, du har indtastet) fører dig til Linux-kommandoprompten på hovedknuden på din HDInsight-klynge. Derfra kan du udføre en række opgaver ved hjælp af de forskellige tjenesters kommandolinjegrænseflader.

Vil du køre et MapReduce-job på din klynge? At gøre det over SSH er måske den nemmeste måde. Kommandoen vist her kører WordCount MapReduce-eksemplet ved at bruge /example/data/gutenberg/davinci.txt som inputfilen og /example/data/WordCountOutput som outputmappen.

Her er jobkørselsoutputtet fra MapReduce-jobbet, set over den samme SSH-forbindelse. Bemærk de successive statusmeddelelser for både kortet og de reducerede trin i jobbet.

Da det er en Microsoft-tjeneste, er PowerShell-kommandoletter tilgængelige for alle aspekter af arbejdet med HDInsight, inklusive klargøringsklynger og kørende job. Koden vist her, i PowerShell ISE, kører det samme MapReduce-job, som vi lige har set i SSH-sessionen.

Hive leverer ikke kun en SQL-grænseflade over data i Hadoop, men den fungerer også over ODBC (og JDBC). Det betyder, at du kan oprette forbindelse til Hive-data ved hjælp af eksterne BI-værktøjer eller endda kun Excel.

Her vises det første trin i at oprette en forbindelse til Hive over ODBC fra Excel 2016 til Windows (efter at have klikket på Data/Ny forespørgsel/Fra andre kilder/Fra ODBC). Det bliver du nødt til download Microsoft Hive ODBC-driveren før du kan gøre dette. Du skal også konfigurere de datakildenavne (DSN'er), som installationsprogrammet konfigurerer, og pege dem på din klynge, og godkendelse med det første af de to legitimationssæt, du oprettede under forsyning.

Når du har oprettet forbindelse til Hive-serveren, bor du ned i de forskellige træknuder til venstre i Excels Navigator-dialog for at afsløre noden for den tabel, du er interesseret i (hivesampletbar i vores tilfælde). Du vil se en forhåndsvisning af dataene til højre, og du kan derefter klikke på knappen "Indlæs" for at bringe dataene ind i Excel-projektmappen.

Det vil tage noget tid, men til sidst indlæses Hive-dataene direkte i dit regneark. Læg mærke til opgaveruden for projektmappeforespørgsel til højre, som angiver datahentningsfremskridt, mens data indlæses, og en sidste rækketælling, når indlæsningen er fuldført. Klik på "x" for at lukke opgaveruden, hvis du ønsker det. Dataene kan nu manipuleres, som alle almindelige regnearksdata kunne. Du kan også bygge diagrammer ud fra det.

Apropos diagrammer, Power BI Desktop (a gratis download til Windows) kan også oprette forbindelse til Hive over ODBC ved at bruge næsten samme procedure som den, der bruges i Excel. En komplet Power BI-rapportside mod de hivesampletable data vises her. Andre BI-værktøjer, som dem fra Tableau og Qlik, kan oprette forbindelse til Hive og visualisere dets data på en måde, der ligner det, jeg har vist her for Excel og Power BI.

Det er slutningen på vores tur. Hvis du har arbejdet med Hadoop før, kan meget af det, vi har set efter klargøring, have set bekendt ud. Andre dele kan have været nye. Uanset hvad skulle du nu være klar til at lave big data-analyse i skyen med HDInsight.