LightIngest gebruiken om gegevens op te nemen in Azure Data Explorer
LightIngest is een opdrachtregelprogramma voor ad-hoc gegevens opname in Azure Data Explorer. Het hulpprogramma kan brongegevens uit een lokale map of uit een Azure Blob Storage-container halen. LightIngest is het handigst wanneer u een grote hoeveelheid gegevens wilt opnemen, omdat er geen tijdsbeperking is voor de opnameduur. Dit is ook handig wanneer u later records wilt opvragen op basis van het tijdstip waarop ze zijn gemaakt en niet de tijd waarop ze zijn opgenomen.
Als u automatisch een LightIngest-opdracht wilt genereren, zie De opnamewizard gebruiken voor een een time-opname van historische gegevens met LightIngest.
Vereisten
LightIngest: download deze als onderdeel van het NuGet-pakket Microsoft.Azure.Kusto.Tools
WinRAR: download het van www.win-rar.com/download.html
LightIngest installeren
- Navigeer naar de locatie op uw computer waar u LightIngest hebt gedownload.
- Gebruik WinRAR om de map hulpprogramma's uit te extraheren naar uw computer.
LightIngest uitvoeren
Navigeer naar de map met geëxtraheerde hulpprogramma's op uw computer.
Verwijder de bestaande locatiegegevens uit de locatiebalk.
Voer
cmdin en druk opcmdVoer bij de opdrachtprompt
LightIngest.exein, gevolgd door het relevante opdrachtregelargument.Tip
Voer in voor een lijst met ondersteunde opdrachtregelargumenten.
LightIngest.exe /help
Voer
ingest-in, gevolgd door de connection string naar Azure Data Explorer cluster dat de opname beheert. Sluit de connection string tussen dubbele aanhalingstekens en volg de specificatie kusto-verbindingsreeksen.Bijvoorbeeld:
ingest-{Cluster name and region}.kusto.windows.net;AAD Federated Security=True -db:{Database} -table:Trips -source:"https://{Account}.blob.core.windows.net/{ROOT_CONTAINER};{StorageAccountKey}" -pattern:"*.csv.gz" -format:csv -limit:2 -ignoreFirst:true -cr:10.0 -dontWait:true
Aanbevelingen
De aanbevolen methode is dat LightIngest werkt met het opname-eindpunt op
https://ingest-{yourClusterNameAndRegion}.kusto.windows.net. Op deze manier kan de Azure Data Explorer de opnamebelasting beheren en kunt u eenvoudig tijdelijke fouten herstellen. U kunt LightIngest echter ook configureren om rechtstreeks met het engine-eindpunt ( ) tehttps://{yourClusterNameAndRegion}.kusto.windows.netwerken.Notitie
Als u rechtstreeks op te nemen met het engine-eindpunt, hoeft u niet op te
ingest-nemen. Er is echter geen DM-functie om de engine te beveiligen en het opnamepercentage te verbeteren.Voor optimale opnameprestaties is de onbewerkte gegevensgrootte nodig, zodat LightIngest de niet-gecomprimeerde grootte van lokale bestanden kan schatten. LightIngest kan de onbewerkte grootte van gecomprimeerde blobs echter mogelijk niet correct schatten zonder ze eerst te downloaden. Stel daarom bij het opnemen van gecomprimeerde blobs de eigenschap voor de blobmetagegevens in op niet-gecomprimeerde
rawSizeBytesgegevensgrootte in bytes.
Opdrachtregelargumenten
| Argumentnaam | Type | Beschrijving | Verplicht/optioneel |
|---|---|---|---|
| tekenreeks | Azure Data Explorer verbindingsreeks die het Kusto-eindpunt opgeeft dat de opname verwerkt. Moet tussen dubbele aanhalingstekens staan | Verplicht | |
| -database, -db | tekenreeks | Naam Azure Data Explorer doeldatabase | Optioneel |
| -tabel | tekenreeks | Naam Azure Data Explorer doeltabel | Verplicht |
| -sourcePath, -source | tekenreeks | Pad naar bronbestanden of hoofd-URI van de blobcontainer. Als de gegevens zich in blobs, moet bevatten opslagaccountsleutel of SAS. Aanbevolen om tussen dubbele aanhalingstekens te plaatsen | Verplicht |
| -voorvoegsel | tekenreeks | Wanneer de op te nemen brongegevens zich in de blobopslag bevinden, wordt dit URL-voorvoegsel gedeeld door alle blobs, met uitzondering van de containernaam. Als de gegevens bijvoorbeeld in MyContainer/Dir1/Dir2 zijn, moet het voorvoegsel Dir1/Dir2 zijn. Het wordt aanbevolen om dubbele aanhalingstekens tussen dubbele aanhalingstekens te plaatsen |
Optioneel |
| -patroon | tekenreeks | Patroon waarmee bronbestanden/blobs worden opgehaald. Ondersteunt jokertekens. Bijvoorbeeld "*.csv". Aanbevolen om tussen dubbele aanhalingstekens te plaatsen |
Optioneel |
| -zipPattern | tekenreeks | Reguliere expressie die moet worden gebruikt bij het selecteren van de bestanden in een ZIP-archief die moeten worden opgenomen. Alle andere bestanden in het archief worden genegeerd. Bijvoorbeeld "*.csv". Het is raadzaam om deze tussen dubbele aanhalingstekens te plaatsen |
Optioneel |
| -format, -f | tekenreeks | Indeling van brongegevens. Moet een van de ondersteunde indelingen zijn | Optioneel |
| -ingestionMappingPath, -mappingPath | tekenreeks | Pad naar lokaal bestand voor opname van kolomtoewijzing. Verplicht voor Json- en Avro-indelingen. Gegevenstoewijzingen bekijken | Optioneel |
| -ingestionMappingRef, -mappingRef | tekenreeks | Naam van een opnamekolomtoewijzing die eerder in de tabel is gemaakt. Verplicht voor Json- en Avro-indelingen. Gegevenstoewijzingen bekijken | Optioneel |
| -creationTimePattern | tekenreeks | Indien ingesteld, wordt gebruikt om de eigenschap CreationTime te extraheren uit het bestands- of blobpad. Zie Gegevens opnemen met | Optioneel |
| -ignoreFirstRow, -ignoreFirst | booleaans | Als deze is ingesteld, wordt de eerste record van elk bestand/elke blob genegeerd (bijvoorbeeld als de brongegevens headers bevatten) | Optioneel |
| -tag | tekenreeks | Tags om te koppelen aan de opgenomen gegevens. Meerdere exemplaren zijn toegestaan | Optioneel |
| -dontWait | booleaans | Als deze is ingesteld op 'true', wacht niet tot de opname is voltooid. Handig bij het opnemen van grote hoeveelheden bestanden/blobs | Optioneel |
| -compressie, -cr | double | Hint voor compressieverhouding. Dit is handig bij het opnemen van gecomprimeerde bestanden/blobs om u te helpen Azure Data Explorer onbewerkte gegevensgrootte te beoordelen. Berekend als oorspronkelijke grootte gedeeld door gecomprimeerde grootte | Optioneel |
| -limit , -l | geheel getal | Als deze is ingesteld, wordt de opname beperkt tot de eerste N bestanden | Optioneel |
| -listOnly, -list | booleaans | Als deze optie is ingesteld, worden alleen de items weergegeven die zouden zijn geselecteerd voor opname | Optioneel |
| -ingestTimeout | geheel getal | Time-out in minuten voor voltooiing van alle opnamebewerkingen. De standaardwaarde is 60 |
Optioneel |
| -forceSync | booleaans | Als deze is ingesteld, wordt synchrone opname ge dwingt. De standaardwaarde is false |
Optioneel |
| -dataBatchSize | geheel getal | Hiermee stelt u de totale groottelimiet (MB, niet-gecomprimeerd) van elke opnamebewerking in | Optioneel |
| -filesInBatch | geheel getal | Hiermee stelt u de limiet voor het aantal bestanden/blobs van elke opnamebewerking in | Optioneel |
| -devTracing, -trace | tekenreeks | Als deze instelling is ingesteld, worden diagnostische logboeken naar een lokale map geschreven (standaard in de huidige map of kunnen ze worden gewijzigd door RollingLogs de switchwaarde in te stellen) |
Optioneel |
Azure Blob-specifieke mogelijkheden
Wanneer LightIngest wordt gebruikt met Azure-blobs, worden bepaalde eigenschappen van blobmetagegevens gebruikt om het opnameproces te verbeteren.
| Eigenschap Metagegevens | Gebruik |
|---|---|
rawSizeBytes, kustoUncompressedSizeBytes |
Indien ingesteld, wordt geïnterpreteerd als de niet-gecomprimeerde gegevensgrootte |
kustoCreationTime, kustoCreationTimeUtc |
Geïnterpreteerd als UTC-tijdstempel. Indien ingesteld, wordt gebruikt om de aanmaaktijd in Kusto te overschrijven. Handig voor backfilling-scenario's |
Gebruiksvoorbeelden
Gegevens opnemen met CreationTime
Wanneer u historische gegevens van een bestaand systeem laadt Azure Data Explorer, ontvangen alle records dezelfde opnamedatum. Als u het partitioneren van uw gegevens wilt inschakelen door de aanmaaktijd te maken en niet de opnametijd, kunt u het -creationTimePattern argument gebruiken. Het -creationTimePattern argument extraheert de CreationTime eigenschap uit het bestands- of blobpad. Het patroon hoeft niet het hele itempad weer te geven, alleen de sectie die de tijdstempel omsluit die u wilt gebruiken.
De argumentwaarden moeten het volgende bevatten:
- Constante tekst direct vóór de tijdstempelnotatie, tussen enkele aanhalingstekens (voorvoegsel)
- De tijdstempelnotatie, in de standaard .NET DateTime-notatie
- Constante tekst direct na het tijdstempel (achtervoegsel).
Belangrijk
Wanneer u opgeeft dat de aanmaaktijd moet worden overgeslagen, moet u ervoor zorgen dat de eigenschap in het effectieve samenvoegbeleid Gebieden van de doeltabel is afgestemd op de waarden in uw LookbackLookback of blobpaden.
Voorbeelden
Een blobnaam die de datum/tijd als volgt bevat: (het tijdstempel is vier cijfers voor het jaar, twee cijfers voor de maand en twee cijfers voor de dag
historicalvalues19840101.parquetvan de maand),De waarde voor argument maakt deel uit van de
-creationTimePattern-creationTimePatterningest-{Cluster name and region}.kusto.windows.net;AAD Federated Security=True -db:{Database} -table:Trips -source:"https://{Account}.blob.core.windows.net/{ROOT_CONTAINER};{StorageAccountKey}" -creationTimePattern:"'historicalvalues'yyyyMMdd'.parquet'" -pattern:"*.parquet" -format:parquet -limit:2 -cr:10.0 -dontWait:trueVoor een blob-URI die verwijst naar hiërarchische mapstructuur, zoals
https://storageaccount/container/folder/2002/12/01/blobname.extension,De waarde voor
-creationTimePatternargument maakt deel uit van de mapstructuur:-creationTimePatterningest-{Cluster name and region}.kusto.windows.net;AAD Federated Security=True -db:{Database} -table:Trips -source:"https://{Account}.blob.core.windows.net/{ROOT_CONTAINER};{StorageAccountKey}" -creationTimePattern:"'folder/'yyyy/MM/dd'/blob'" -pattern:"*.csv.gz" -format:csv -limit:2 -ignoreFirst:true -cr:10.0 -dontWait:true
Blobs opnemen met behulp van een opslagaccountsleutel of een SAS-token
- Opname van 10 blobs onder het opgegeven opslagaccount , in de map
ACCOUNT, onder container , en die overeenkomen met hetDIRCONTpatroon*.csv.gz - Doel is database
DB, tabel en de opnametoewijzingTABLEis vooraf gemaakt op deMAPPINGbestemming - Het hulpprogramma wacht totdat de opnamebewerkingen zijn voltooid
- Let op de verschillende opties voor het opgeven van de doeldatabase en de opslagaccountsleutel versus het SAS-token
LightIngest.exe "https://ingest-{ClusterAndRegion}.kusto.windows.net;Fed=True"
-database:DB
-table:TABLE
-source:"https://ACCOUNT.blob.core.windows.net/{ROOT_CONTAINER};{StorageAccountKey}"
-prefix:"DIR"
-pattern:*.csv.gz
-format:csv
-mappingRef:MAPPING
-limit:10
LightIngest.exe "https://ingest-{ClusterAndRegion}.kusto.windows.net;Fed=True;Initial Catalog=DB"
-table:TABLE
-source:"https://ACCOUNT.blob.core.windows.net/{ROOT_CONTAINER}?{SAS token}"
-prefix:"DIR"
-pattern:*.csv.gz
-format:csv
-mappingRef:MAPPING
-limit:10
Alle blobs opnemen in een container, met inbegrip van koprijen
- Alle blobs opnemen onder het opgegeven opslagaccount
ACCOUNT, in de map , onder container , en die overeenkomen met hetDIR1/DIR2CONTpatroon*.csv.gz - Doel is database
DB, tabel en de opnametoewijzingTABLEis vooraf gemaakt op deMAPPINGbestemming - Bron-blobs bevatten een headerregel, zodat het hulpprogramma wordt geïnstrueerd om de eerste record van elke blob te laten vallen
- Het hulpprogramma plaatst de gegevens voor opname en wacht niet tot de opnamebewerkingen zijn voltooid
LightIngest.exe "https://ingest-{ClusterAndRegion}.kusto.windows.net;Fed=True"
-database:DB
-table:TABLE
-source:"https://ACCOUNT.blob.core.windows.net/{ROOT_CONTAINER}?{SAS token}"
-prefix:"DIR1/DIR2"
-pattern:*.csv.gz
-format:csv
-mappingRef:MAPPING
-ignoreFirstRow:true
Alle JSON-bestanden van een pad opnemen
- Alle bestanden opnemen onder pad
PATH, die overeenkomen met het patroon*.json - Doel is database
DB, tabel en deTABLEopnametoewijzing wordt gedefinieerd in het lokale bestandMAPPING_FILE_PATH - Het hulpprogramma plaatst de gegevens voor opname en wacht niet tot de opnamebewerkingen zijn voltooid
LightIngest.exe "https://ingest-{ClusterAndRegion}.kusto.windows.net;Fed=True"
-database:DB
-table:TABLE
-source:"PATH"
-pattern:*.json
-format:json
-mappingPath:"MAPPING_FILE_PATH"
Bestanden opnemen en diagnostische traceerbestanden schrijven
- Alle bestanden opnemen onder pad
PATH, die overeenkomen met het patroon*.json - Doel is database
DB, tabel en deTABLEopnametoewijzing wordt gedefinieerd in het lokale bestandMAPPING_FILE_PATH - Het hulpprogramma plaatst de gegevens voor opname en wacht niet tot de opnamebewerkingen zijn voltooid
- Traceerbestanden voor diagnostische gegevens worden lokaal in de map geschreven
LOGS_PATH
LightIngest.exe "https://ingest-{ClusterAndRegion}.kusto.windows.net;Fed=True"
-database:DB
-table:TABLE
-source:"PATH"
-pattern:*.json
-format:json
-mappingPath:"MAPPING_FILE_PATH"
-trace:"LOGS_PATH"