Gegevens uploaden voor Apache Hadoop-taken in HDInsight
HDInsight biedt een Hadoop Distributed File System (HDFS) via Azure Storage en Azure Data Lake Storage. Deze opslag omvat Gen1 en Gen2. Azure Storage en Data Lake Storage Gen1 en Gen2 zijn ontworpen als HDFS-extensies. Ze zorgen ervoor dat de volledige set onderdelen in de Hadoop-omgeving rechtstreeks kan worden uitgevoerd op de gegevens die worden beheerd. Azure Storage, Data Lake Storage Gen1 en Gen2 zijn afzonderlijke bestandssystemen. De systemen zijn geoptimaliseerd voor opslag van gegevens en berekeningen op die gegevens. Zie Azure Storage gebruiken met HDInsight voor meer informatie over de voordelen van het gebruik van Azure Storage. Zie ook Data Lake Storage Gen1 gebruiken met HDInsight en Data Lake Storage Gen2 gebruiken met HDInsight.
Vereisten
Houd rekening met de volgende vereisten voordat u begint:
- Een Azure HDInsight-cluster. Zie Aan de slag met Azure HDInsight voor instructies.
- Kennis van de volgende artikelen:
Gegevens uploaden naar Azure Storage
Hulpprogramma's
Microsoft biedt de volgende hulpprogramma's om met Azure Storage te werken:
Hulpprogramma | Linux | OS X | Windows |
---|---|---|---|
Azure Portal | ✔ | ✔ | ✔ |
Azure-CLI | ✔ | ✔ | ✔ |
Azure PowerShell | ✔ | ||
AzCopy | ✔ | ✔ | |
Hadoop-opdracht | ✔ | ✔ | ✔ |
Notitie
De Hadoop-opdracht is alleen beschikbaar in het HDInsight-cluster. Met de opdracht kunt u alleen gegevens uit het lokale bestandssysteem in Azure Storage laden.
Hadoop-opdrachtregel
De Hadoop-opdrachtregel is alleen nuttig voor het opslaan van gegevens in Azure Storage Blob wanneer de gegevens al aanwezig zijn op het hoofdknooppunt van het cluster.
Als u de Hadoop-opdracht wilt gebruiken, moet u eerst verbinding maken met het hoofdknooppunt met behulp van SSH of PuTTY.
Zodra u verbinding hebt gemaakt, kunt u de volgende syntaxis gebruiken om een bestand naar de opslag te uploaden.
hadoop fs -copyFromLocal <localFilePath> <storageFilePath>
Bijvoorbeeld: hadoop fs -copyFromLocal data.txt /example/data/data.txt
Omdat het standaardbestandssysteem voor HDInsight zich in Azure Storage bevindt, bevindt /example/data/data.txt zich in Azure Storage. U kunt ook naar het bestand verwijzen als:
wasbs:///example/data/data.txt
of
wasbs://<ContainerName>@<StorageAccountName>.blob.core.windows.net/example/data/davinci.txt
Zie voor een lijst met andere Hadoop-opdrachten die met bestanden werken https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html
Waarschuwing
Op Apache HBase-clusters is de standaardblokgrootte die wordt gebruikt bij het schrijven van gegevens 256 kB. Hoewel dit prima werkt bij het gebruik van HBase-API's of REST API's, resulteert het gebruik van de hadoop
opdrachten of hdfs dfs
voor het schrijven van gegevens groter dan ~12 GB in een fout. Zie Opslaguitzondering voor schrijven op blob voor meer informatie.
Grafische clients
Er zijn ook verschillende toepassingen die een grafische interface bieden voor het werken met Azure Storage. De volgende tabel bevat een lijst met een aantal van deze toepassingen:
Client | Linux | OS X | Windows |
---|---|---|---|
Microsoft Visual Studio Tools voor HDInsight | ✔ | ✔ | ✔ |
Azure-opslagverkenner | ✔ | ✔ | ✔ |
Cerulea |
✔ | ||
CloudXplorer | ✔ | ||
CloudBerry Explorer voor Microsoft Azure | ✔ | ||
Cyberduck | ✔ | ✔ |
Azure Storage koppelen als lokaal station
Zie Azure Storage koppelen als lokaal station.
Uploaden met behulp van services
Azure Data Factory
De Azure Data Factory-service is een volledig beheerde service voor het samenstellen van gegevens: opslag-, verwerkings- en verplaatsingsservices in gestroomlijnde, aanpasbare en betrouwbare pijplijnen voor gegevensproductie.
Opslagtype | Documentatie |
---|---|
Azure Blob Storage | Gegevens kopiëren naar of uit Azure Blob Storage met behulp van Azure Data Factory |
Azure Data Lake Storage Gen1 | Gegevens kopiëren naar of van Azure Data Lake Storage Gen1 met behulp van Azure Data Factory |
Azure Data Lake Storage Gen2 | Gegevens laden in Azure Data Lake Storage Gen2 met Azure Data Factory |
Apache Sqoop
Sqoop is een hulpprogramma dat is ontworpen om gegevens over te dragen tussen Hadoop en relationele databases. Gebruik het om gegevens te importeren uit een relationeel databasebeheersysteem (RDBMS), zoals SQL Server, MySQL of Oracle. Ga vervolgens naar het Hadoop Distributed File System (HDFS). Transformeer de gegevens in Hadoop met MapReduce of Hive en exporteer de gegevens vervolgens terug naar een RDBMS.
Zie Sqoop gebruiken met HDInsight voor meer informatie.
Sdk's voor ontwikkeling
Azure Storage kan ook worden geopend met behulp van een Azure SDK vanuit de volgende programmeertalen:
- .NET
- Java
- Node.js
- PHP
- Python
- Ruby
Zie Azure-downloads voor meer informatie over het installeren van de Azure-SDK's
Volgende stappen
Nu u begrijpt hoe u gegevens in HDInsight kunt ophalen, kunt u de volgende artikelen lezen voor meer informatie over analyse: