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 Gen2. Azure Storage en Data Lake Storage Gen2 zijn ontworpen als HDFS-extensies. Ze stellen de volledige set onderdelen in de Hadoop-omgeving in staat om rechtstreeks te werken op de gegevens die worden beheerd. Azure Storage, Data Lake Storage Gen2 zijn afzonderlijke bestandssystemen. De systemen zijn geoptimaliseerd voor de 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 Gen2 gebruiken met HDInsight.
Vereisten
Let op 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 voor gebruik met Azure Storage:
Hulpprogramma | Linux | OS X | Windows |
---|---|---|---|
Azure-portal | ✔ | ✔ | ✔ |
Azure-CLI | ✔ | ✔ | ✔ |
Azure PowerShell | ✔ | ||
AzCopy | ✔ | ✔ | |
Hadoop-opdracht | ✔ | ✔ | ✔ |
Notitie
De Hadoop-opdracht is alleen beschikbaar op het HDInsight-cluster. Met de opdracht kunnen alleen gegevens uit het lokale bestandssysteem in Azure Storage worden geladen.
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.
Nadat u verbinding hebt gemaakt, kunt u de volgende syntaxis gebruiken om een bestand te uploaden naar de opslag.
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
Or
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
In 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 schrijven van hadoop
hdfs dfs
gegevens die groter zijn dan ~12 GB een fout. Zie opslagonderzondering voor schrijfbewerkingen 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 is een lijst met een aantal van deze toepassingen:
Klant | 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 opstellen 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 |
(.. /data-factory/connector-azure-data-lake-store.md) | |
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 deze 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, leest u de volgende artikelen voor meer informatie over analyse: