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 Gen2. Azure Storage och Data Lake Storage 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 Gen2 är distinkta filsystem. Systemen är optimerade för lagring av data och beräkningar på 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 Gen2 med HDInsight.
Förutsättningar
Observera följande krav innan du börjar:
- Ett Azure HDInsight-kluster. Anvisningar finns i Kom igång med Azure HDInsight.
- Kunskap om följande artiklar:
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 | ✔ | ✔ | ✔ |
Kommentar
Hadoop-kommandot är endast 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å klusterhuvudnoden.
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. Detta fungerar bra när du använder HBase-API:er eller REST-API:er, men om du använder hadoop
kommandona eller hdfs dfs
för att skriva data som är större än ~12 GB resulterar det i ett fel. 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:
Klient | 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 |
(.. /data-factory/connector-azure-data-lake-store.md) | |
Azure Data Lake Storage Gen2 | Läsa 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 relationsdatabashanteringssystem (RDBMS), till exempel SQL Server, MySQL eller Oracle. Sedan in i Det 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 ett 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: