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 installeren

  1. Navigeer naar de locatie op uw computer waar u LightIngest hebt gedownload.
  2. Gebruik WinRAR om de map hulpprogramma's uit te extraheren naar uw computer.

LightIngest uitvoeren

  1. Navigeer naar de map met geëxtraheerde hulpprogramma's op uw computer.

  2. Verwijder de bestaande locatiegegevens uit de locatiebalk.

    Verwijder bestaande locatiegegevens voor LightIngest in Azure Data Explorer.

  3. Voer cmd in en druk op cmd

  4. Voer bij de opdrachtprompt LightIngest.exe in, gevolgd door het relevante opdrachtregelargument.

    Tip

    Voer in voor een lijst met ondersteunde opdrachtregelargumenten. LightIngest.exe /help

    Hulp bij de opdrachtregel voor LightIngest.

  5. 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 ( ) te https://{yourClusterNameAndRegion}.kusto.windows.net werken.

    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 rawSizeBytes gegevensgrootte 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.parquet van de maand),

    De waarde voor argument maakt deel uit van de -creationTimePattern-creationTimePattern

    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}" -creationTimePattern:"'historicalvalues'yyyyMMdd'.parquet'"
     -pattern:"*.parquet" -format:parquet -limit:2 -cr:10.0 -dontWait:true
    
  • Voor een blob-URI die verwijst naar hiërarchische mapstructuur, zoals https://storageaccount/container/folder/2002/12/01/blobname.extension ,

    De waarde voor -creationTimePattern argument maakt deel uit van de mapstructuur: -creationTimePattern

      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}" -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 het DIRCONT patroon *.csv.gz
  • Doel is database DB , tabel en de opnametoewijzing TABLE is vooraf gemaakt op de MAPPING bestemming
  • 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 het DIR1/DIR2CONT patroon *.csv.gz
  • Doel is database DB , tabel en de opnametoewijzing TABLE is vooraf gemaakt op de MAPPING bestemming
  • 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 de TABLE opnametoewijzing wordt gedefinieerd in het lokale bestand MAPPING_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 de TABLE opnametoewijzing wordt gedefinieerd in het lokale bestand MAPPING_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"