Ladda upp data för Apache Hadoop-jobb i HDInsight

HDInsight tillhandahåller ett Hadoop-distribuerat filsystem (HDFS) över Azure Storage och Azure Data Lake Storage. Den här lagringen innehåller Gen1 och Gen2. Azure Storage och Data Lake Storage Gen1 och Gen2 är utformade som HDFS-tillägg. De gör det möjligt för den fullständiga uppsättningen komponenter i Hadoop-miljön att fungera direkt på de data som hanteras. Azure Storage, Data Lake Storage Gen1 och Gen2 är distinkta filsystem. Systemen är optimerade för lagring av data och beräkningar för dessa data. Information om fördelarna med att använda Azure Storage finns i Använda Azure Storage med HDInsight. Se även Använda Data Lake Storage Gen1 med HDInsight och Använd Data Lake Storage Gen2 med HDInsight.

Förutsättningar

Observera följande krav innan du börjar:

Ladda upp data till Azure Storage

Verktyg

Microsoft tillhandahåller följande verktyg för att arbeta med Azure Storage:

Verktyg Linux OS X Windows
Azure-portalen
Azure CLI
Azure PowerShell
AzCopy
Hadoop-kommando

Anteckning

Hadoop-kommandot är bara tillgängligt i HDInsight-klustret. Kommandot tillåter endast inläsning av data från det lokala filsystemet till Azure Storage.

Hadoop-kommandorad

Hadoop-kommandoraden är bara användbar för att lagra data i Azure Storage Blob när data redan finns på klustrets huvudnod.

Om du vill använda Hadoop-kommandot måste du först ansluta till huvudnoden med hjälp av SSH eller PuTTY.

När du är ansluten kan du använda följande syntax för att ladda upp en fil till lagring.

hadoop fs -copyFromLocal <localFilePath> <storageFilePath>

Till exempel hadoop fs -copyFromLocal data.txt /example/data/data.txt

Eftersom standardfilsystemet för HDInsight finns i Azure Storage finns /example/data/data.txt faktiskt i Azure Storage. Du kan också referera till filen som:

wasbs:///example/data/data.txt

eller

wasbs://<ContainerName>@<StorageAccountName>.blob.core.windows.net/example/data/davinci.txt

En lista över andra Hadoop-kommandon som fungerar med filer finns i https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html

Varning

I Apache HBase-kluster är standardblockstorleken som används vid skrivning av data 256 kB. Även om detta fungerar bra när du använder HBase-API:er eller REST-API:er, resulterar det i ett fel att använda hadoop kommandona eller hdfs dfs för att skriva data som är större än ~12 GB. Mer information finns i lagringsfel för skrivning på blob.

Grafiska klienter

Det finns också flera program som tillhandahåller ett grafiskt gränssnitt för att arbeta med Azure Storage. Följande tabell är en lista över några av dessa program:

Client Linux OS X Windows
Microsoft Visual Studio Tools för HDInsight
Azure Lagringsutforskaren
Cerulea
CloudXplorer
CloudBerry Explorer för Microsoft Azure
Cyberduck

Montera Azure Storage som lokal enhet

Se Montera Azure Storage som lokal enhet.

Ladda upp med hjälp av tjänster

Azure Data Factory

Azure Data Factory-tjänsten är en fullständigt hanterad tjänst för att skapa data: lagring, bearbetning och förflyttning av tjänster till strömlinjeformade, anpassningsbara och tillförlitliga dataproduktionspipelines.

Lagringstyp Dokumentation
Azure Blob Storage Kopiera data till och från Azure Blob Storage med hjälp av Azure Data Factory
Azure Data Lake Storage Gen1 Kopiera data till eller från Azure Data Lake Storage Gen1 med hjälp av Azure Data Factory
Azure Data Lake Storage Gen2 Läs in data i Azure Data Lake Storage Gen2 med Azure Data Factory

Apache Sqoop

Sqoop är ett verktyg som är utformat för att överföra data mellan Hadoop och relationsdatabaser. Använd den för att importera data från ett hanteringssystem för relationsdatabaser (RDBMS), till exempel SQL Server, MySQL eller Oracle. Sedan till Hadoop-distribuerade filsystemet (HDFS). Transformera data i Hadoop med MapReduce eller Hive och exportera sedan data tillbaka till en RDBMS.

Mer information finns i Använda Sqoop med HDInsight.

SDK:er för utveckling

Azure Storage kan också nås med hjälp av en Azure SDK från följande programmeringsspråk:

  • .NET
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

Mer information om hur du installerar Azure SDK:er finns i Azure-nedladdningar

Nästa steg

Nu när du förstår hur du hämtar data till HDInsight läser du följande artiklar för att lära dig analys: