Gegevens incrementeel laden en verwerken met Lakeflow Spark-declaratieve pijplijnenstromen

Gegevens worden verwerkt in pijplijnen via stromen. Elke stroom bestaat uit een query en meestal een doel. De stroom verwerkt de query, ofwel als een batch, of incrementeel als een gegevensstroom naar het doel. Een stroom bevindt zich in een pijplijn binnen Lakeflow Spark Declarative Pipelines.

Normaal gesproken worden stromen automatisch gedefinieerd wanneer u een query maakt in een pijplijn waarmee een doel wordt bijgewerkt, maar u kunt ook expliciet aanvullende stromen definiëren voor complexere verwerking, zoals het toevoegen aan één doel uit meerdere bronnen.

Updates

Elke keer dat zijn definitiepijplijn wordt bijgewerkt, wordt een stroom uitgevoerd. Met het proces worden tabellen gemaakt of bijgewerkt met de meest recente beschikbare gegevens. Afhankelijk van het type stroom en de status van de wijzigingen in de gegevens, kan de update een incrementele vernieuwing uitvoeren, die alleen nieuwe records verwerkt of een volledige vernieuwing uitvoert, waarmee alle records uit de gegevensbron opnieuw worden verwerkt.

Standaardstromen en toevoegstromen

Wanneer u een query maakt in een pijplijn die een doel bijwerkt, wordt automatisch een standaardstroom gedefinieerd. Voor een streamingtabel is de standaardstroom een toevoegstroom waarmee nieuwe rijen worden toegevoegd bij elke update en die dezelfde naam heeft als het doel. Het maken van een stroom en het doel ervan in één stap is de meest voorkomende manier om pijplijnen te gebruiken en u kunt deze gebruiken om gegevens op te nemen of te transformeren.

U kunt stromen ook afzonderlijk van een doel definiëren, zodat meerdere stromen gegevens kunnen toevoegen aan één doel. Dit is handig wanneer u het volgende moet doen:

  • Voeg streamingbronnen toe die aan een bestaande streamingtabel worden toegevoegd zonder dat u een volledige vernieuwing nodig hebt.
  • Een streamingtabel met ontbrekende historische gegevens invullen.
  • Gegevens uit meerdere bronnen combineren zonder een UNION component te gebruiken.

Zie Stromen gebruiken in Lakeflow Spark-declaratieve pijplijnen voor voorbeelden van het maken van standaard- en expliciete stromen.

Soorten stromen

De standaardstromen voor streamingtabellen en gerealiseerde weergaven zijn toevoegstromen. U kunt ook stromen maken om te lezen uit change data capture-gegevensbronnen. In de volgende tabel worden de verschillende typen stromen beschreven.

Stroomtype Description
Append Toevoegstromen zijn het meest voorkomende type stroom, waarbij nieuwe records in de bron met elke update naar het doel worden geschreven. Ze komen overeen met de toevoegmodus in gestructureerd streamen. U kunt de ONCE vlag toevoegen, waarmee een batchquery wordt aangegeven waarvan de gegevens slechts eenmaal in het doel moeten worden ingevoegd, tenzij het doel volledig is vernieuwd. Een willekeurig aantal toevoegstromen kan naar een bepaald doel schrijven.
Standaardstromen (gemaakt met de doelstreamingtabel of gematerialiseerde weergave) hebben dezelfde naam als het doel. Andere doelstellingen hebben geen standaardstromen.
Auto CDC (voorheen wijzigingen toepassen) Een Automatische CDC-stroom verwerkt een query die CDC-gegevens (Change Data Capture) bevat. Automatische CDC-stromen kunnen alleen worden gericht op streamingtabellen en de bron moet een streamingbron zijn (zelfs in het geval van ONCE stromen). Meerdere automatische CDC-processen kunnen zich richten op één streamingtabel. Een streamingtabel die fungeert als doelwit voor een automatische CDC-stroom, kan alleen het doelwit zijn van andere automatische CDC-stromen.
Zie de AUTO CDC-API's voor meer informatie over CDC-gegevens: Het vastleggen van wijzigingsgegevens vereenvoudigen met pijplijnen.
Bijwerken (openbare preview) Update-stromen schrijven globale streamingaggregaties zonder watermerk weg naar een sink, waarbij alleen de records worden uitgevoerd die in elke batch zijn gewijzigd.
Updatestromen zijn alleen beschikbaar in Python. Zie update_flow.

Aanvullende bronnen

Zie de volgende onderwerpen voor meer informatie over stromen en het gebruik ervan: