Importeren vanuit Azure Cosmos DB
Belangrijk
De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.
Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.
- Zie informatie over het verplaatsen machine learning van ML Studio (klassiek) naar Azure Machine Learning.
- Meer informatie over Azure Machine Learning.
De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.
In dit artikel wordt beschreven hoe u de module Gegevens importeren in Machine Learning Studio (klassiek) gebruikt om gegevens te importeren uit Azure Cosmos DB voor gebruik in een machine learning experiment.
Notitie
Van toepassing op: Machine Learning Studio (klassiek)
Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.
Azure Cosmos DB biedt ondersteuning voor NoSQL-databaseopslag met behulp van een flexibel gegevensmodel. De voordelen van het gebruik van de SQL-API's in dit gegevensopslag voor machine learning zijn snelle en voorspelbare prestaties, automatisch schalen, wereldwijde distributie en uitgebreide querymogelijkheden.
Samen met Azure SQL Database kunt u met deze optie binnenkomende gegevenssets dynamisch filteren.
Meer informatie over hoe het werkt: Meer informatie Azure Cosmos DB
- Om aan de slag te machine learning met gegevens uit Azure Cosmos DB, moet u toegang hebben tot een bestaand Azure Cosmos DB-account met een verzameling gerelateerde documenten.
Notitie
De gebruikersinterface in Machine Learning Studio (klassiek) gebruikt nog steeds op veel plaatsen de naam DocumentDB. Daarom kunt u verwijzingen naar DocumentDB blijven zien, zelfs als de API is opgenomen in Azure Cosmos DB.
Gegevens importeren gebruiken met Azure Cosmos DB
We raden u ten zeerste aan uw gegevens te profileren voordat u importeert, om ervoor te zorgen dat het schema is zoals verwacht. Tijdens het importproces wordt een aantal hoofdrijen gescand om het schema te bepalen, maar latere rijen bevatten mogelijk extra kolommen of gegevens die fouten veroorzaken.
Gegevens importeren met de wizard
De module bevat een nieuwe wizard om u te helpen een opslagoptie te kiezen, een keuze te maken uit bestaande abonnementen en accounts en snel alle opties te configureren.
Voeg de module Gegevens importeren toe aan uw experiment. U vindt de module onder Gegevensinvoer en -uitvoer.
Klik op Wizard Gegevens importeren starten en volg de aanwijzingen.
Wanneer de configuratie is voltooid, kopieert u de gegevens daadwerkelijk naar uw experiment, klikt u met de rechtermuisknop op de module en selecteert u Geselecteerde uitvoeren.
Tip
Als u een bestaande gegevensverbinding wilt bewerken, laadt de wizard alle eerdere configuratiegegevens. U hoeft niet opnieuw te beginnen.
Handmatig eigenschappen instellen in de module Gegevens importeren
In de volgende stappen wordt beschreven hoe u de importbron handmatig configureert.
Voeg de module Gegevens importeren toe aan uw experiment. U vindt deze module in de categorie Gegevensinvoer en -uitvoer.
Bij Gegevensbron selecteert u Azure DocumentDB.
Mogelijk moet u verbindingsgegevens voor de documentdatabase verstrekken.
Tip
Zoek de naam van de optie in Machine Learning Studio (klassiek) om op een later tijdstip te wijzigen. De importfunctionaliteit is niet beïnvloed door de naamswijziging.
Voor Eindpunt-URL klikt u in Azure Portal op Sleutels en kopieert u de inhoud van het veld URI boven aan de pagina.
Plak bij Database-id de naam van de database die u wilt gebruiken.
Klik op Documentverkenner om de databasenaam op te halen uit de Azure-portal. U kunt de lijst met databases en verzamelingen weergeven in dit deelvenster.
Plak bij DocumentDB-sleutel een toegangssleutel voor het account.
Als u de sleutels wilt zoeken, klikt u op Sleutels en kopieert u de inhoud van de velden PRIMAIRE SLEUTEL of SECUNDAIRE SLEUTEL .
Bij Verzamelings-id typt u de naam van de verzameling, zoals wordt weergegeven in de opgegeven CosmosDB-database.
Definieer SQL query- en filtervoorwaarde voor de gegevens met behulp van de opties SQL query en SQL queryparameters.
Typ SQL query die de gegevens definieert die moeten worden opgehaald uit de verzameling. We raden u aan queryverkenner te gebruiken om uw CosmosDB-query's vooraf te maken en te testen.
Voor SQL queryparameters geeft u een expressie op in JSON-indeling die kan worden gebruikt om de geretourneerde gegevens dynamisch te filteren. Normaal gesproken geeft u de werkelijke waarde van de parameterwaarde op bij het uitvoeren van het experiment als onderdeel van een webservice.
Als u een parameter gebruikt, moet u de naam van de filtervariabele definiëren als onderdeel van de WHERE-component die is opgegeven in SQL querytekstvak.
Als u geen filterexpressie opgeeft, wordt de waarde standaard ingesteld op en{} worden alle records geretourneerd.
Zie de sectie Technische notities voor voorbeelden, bekende problemen en aanvullend advies over SQL op CosmosDB.
Selecteer de optie In cache opgeslagen resultaten gebruiken als u bestaande resultaten opnieuw wilt gebruiken.
Als u deze optie deselecteert, worden de gegevens uit de bron gelezen telkens wanneer het experiment wordt uitgevoerd, ongeacht of de gegevens hetzelfde zijn of niet.
Machine Learning kunt de gegevens in de cache niet vergelijken met de gegevens in uw CosmosDB-account. Er is dus geen manier om incrementele updates uit te voeren vanuit Machine Learning.
Als u alleen opnieuw wilt importeren wanneer de gegevens worden gewijzigd, moet u die logica definiëren in een andere toepassing, zoals Azure Data Factory. Zie Gegevens verplaatsen van en naar een Azure Cosmos DB met Azure Data Factory voor meer Azure Data Factory.
Voer het experiment uit of selecteer alleen de module Gegevens importeren en klik op Uitvoeren geselecteerd.
Resultaten
Nadat u de module of het experiment hebt uitgevoerd, kunt u met de rechtermuisknop op de uitvoer van de module klikken om de resultaten in tabelvorm te visualiseren.
Als u een momentopname van deze gegevens in uw Machine Learning werkruimte wilt vastleggen als een gegevensset, klikt u met de rechtermuisknop op de uitvoer van de module en selecteert u Opslaan als gegevensset. Als u dit doet, worden echter alleen de gegevens die beschikbaar zijn op het moment van importeren, vastleggen. Als de gegevens naar verwachting regelmatig worden gewijzigd, moet u Gegevens importeren indien nodig opnieuw gebruiken.
Voorbeelden
Voor een gedetailleerd overzicht van het gebruik van Azure Cosmos DB als een gegevensbron voor machine learning, zie de Azure AI Gallery.
- SQL query's voor Azure Cosmos DB: in dit artikel wordt uitgelegd hoe u SQL query's kunt uitvoeren op Azure Cosmos DB gegevens.
Technische opmerkingen
Deze sectie bevat geavanceerde configuratieopties en antwoorden op veelgestelde vragen.
Voorbeelden van eenvoudige en geparameteriseerde query's
Stel dat u alleen de gegevens wilt gebruiken voor auto's met een hoogte van minder dan 10000 meter.
Eenvoudige query
Plak de volgende query in het tekstvak SQL query:Select * from volcanodb where volcanodb.Elevation < 10000
In dit geval wordt de waarde van de filterexpressie ingesteld op en{} worden alle records geretourneerd.
Geparameteriseerde query
Als u alleen degegevens wilt opvragen die betrekking hebben op een specifiek land, kunt u de landwaarde opgeven als een parameter die tijdens run time wordt doorgegeven aan de query. Hiervoor zijn de volgende wijzigingen vereist:
Definieer SQL in het tekstvak van de query een variabele die moet
Country
worden toegepast op het veld als onderdeel van SQL query:Select * from volcanodb where volcanodb.Country = @param1
Geef in SQL het tekstvak queryparameters de parameternaam en de waarde ervan op in JSON-indeling, zoals:
{"@param1":"Turkey"}
Resources
Als u geen bestaand documentopslag hebt, bekijkt u deze artikelen om aan de slag te gaan.
Azure Cosmos DB: een SQL API-web-app ontwikkelen met .NET en de Azure Portal
Quickstart: Een .NET console-app bouwen om Azure Cosmos DB SQL-API-resources te beheren
Hulp bij gegevensmigratie en querysyntaxis
Voor voorbeelden van query's in een JSON-gegevensopslag downloadt u het Azure Cosmos DB query-cheatsheet.
Als u inhoud wilt uploaden naar Azure Cosmos DB, raden we het hulpprogramma Azure Cosmos DB migratie aan. Uw gegevens worden gevalideerd, geüpload en geïndexeerd. Het hulpprogramma ondersteunt meerdere bronnen, waaronder MongoDB, Amazon DynamoDB, HBase, SQL Server databases en CSV-bestanden.
Query's zonder schema gebruiken
Als de gegevens consistent en voorspelbaar zijn, kunt u eenvoudige, SQL syntaxis gebruiken, zoals SELECT * FROM <document collection>
. Dit wordt een schema-less query genoemd omdat u de exacte kenmerken die u wilt retourneren niet hebt benoemd. Een dergelijke query retourneert alle velden en alle rijen uit de opgegeven verzameling.
Het niet opgeven van een schema kan echter leiden tot onverwachte resultaten of een run time-fout als de documenten inconsistente schema's hebben. Dit komt doordat de module Gegevens importeren het schema als volgt probeert af te afleiden op basis van een vooraf bepaald aantal rijen:
- Als er geen kenmerken zijn opgegeven, scant de module de eerste rij in de CosmosDB-database.
- De module maakt kolomnamen op basis van kenmerken en raadt wat de kolomgegevenstypen moeten zijn op basis van de voorbeeldrij.
- Als latere rijen nieuwe of andere kenmerken bevatten, wordt er een run time-fout gegenereerd.
Daarom raden we u aan altijd de kenmerken en waarden op te geven die u wilt retourneren uit het CosmosDB-gegevensopslag. In plaats van de syntaxis SELECT *
te gebruiken, raden we u bijvoorbeeld aan om alle kenmerken die door de query zijn opgehaald een naam te geven, zoals:
SELECT MyTable.Gender, MyTable.Age, MyTable.Name FROM <document collection>
Moduleparameters
De volgende tabel bevat alleen de parameters voor de module Gegevens importeren die van toepassing zijn op de Azure Cosmos DB optie.
Name | Bereik | Type | Vereist | Standaard | Beschrijving |
---|---|---|---|---|---|
Gegevensbron | list | HTTP | vereist | geen | De gegevensbron kan HTTP, FTP, anonieme HTTPS of FTPS zijn, een bestand in Azure BLOB Storage, een Azure-tabel, een Azure SQL Database, een Hive-tabel, een OData-eindpunt of Azure Cosmos dB. |
Eindpunt-URL | alle | tekenreeks | vereist | geen | Geef de URI op voor de Azure Cosmos DB server |
Database-id | alle | tekenreeks | vereist | geen | Geef de naam van de Azure Cosmos DB database op |
DocumentDB-sleutel | alle | SecureString | vereist | geen | Geef een geldige API-sleutel op voor het Azure Cosmos DB account |
Verzamelings-id | alle | tekenreeks | vereist | geen | Geef de naam van een verzameling op in de Azure Cosmos DB database |
SQL query | alle | tekenreeks | vereist | geen | Een SQL query waarin records worden opgegeven die moeten worden Azure Cosmos DB gegevensopslag |
Uitvoerwaarden
Naam | Type | Description |
---|---|---|
Gegevensset met resultaten | Gegevenstabel | Gegevensset met gedownloade gegevens |
Uitzonderingen
Uitzondering | Description |
---|---|
Fout 0003 | Een uitzondering treedt op als een of meer invoer null of leeg zijn. |
Fout 0029 | Er treedt een uitzondering op wanneer een ongeldige URI wordt doorgegeven. |
Fout 0002 | Er treedt een uitzondering op als een of meer parameters niet kunnen worden geparseerd of geconverteerd van het opgegeven type naar het type dat is vereist door de doelmethode. |
Fout 0048 | Er treedt een uitzondering op wanneer het niet mogelijk is om een bestand te openen. |
Fout 0049 | Er treedt een uitzondering op wanneer het niet mogelijk is om een bestand te parseren. |
Zie Foutcodes voor een lijst met fouten die specifiek zijn Machine Learning voor Studio-modules (klassiek).
Zie Foutcodes voor een lijst Machine Learning REST API API-uitzonderingen.
Zie ook
Gegevens importeren
Gegevens exporteren
Importeren vanuit een web-URL via HTTP
Importeren vanuit Hive-query
Importeren vanuit een Azure SQL Database
Importeren vanuit Azure Blob Storage
Importeren vanuit gegevensfeedproviders
Importeren vanuit on-premises SQL Server database