Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Dekorátor @dp.foreach_batch_sink() definuje jímku ForEachBatch, která zpracovává datový proud jako řadu mikrodávek, které zpracováváte v Python s vlastní logikou. Na jímku odkazujete jako target na tok připojení k zápisu transformovaných dat. Koncepční pokyny, důležité informace a příklady najdete v tématu Použití příkazu ForEachBatch k zápisu do libovolných datových jímek v kanálech.
Syntax
from pyspark import pipelines as dp
@dp.foreach_batch_sink(name="<name>")
def batch_handler(df, batch_id):
"""
Required:
- `df`: a Spark DataFrame representing the rows of this micro-batch.
- `batch_id`: unique integer ID for each micro-batch in the query.
"""
# Your custom write or transformation logic here
# Example:
# df.write.format("some-target-system").save("...")
#
# To access the sparkSession inside the batch handler, use df.sparkSession.
Parameters
| Parametr | Description |
|---|---|
| name | Optional. Jedinečný název pro identifikaci jímky v kanálu. Výchozí hodnota je název uživatelsky definované funkce, pokud není zahrnut. |
| batch_handler | Toto je uživatelem definovaná funkce (UDF), která se volá pro každou mikrodávku. |
| Df | Datový rámec Sparku obsahující data pro aktuální mikrodávku |
| batch_id | Celočíselné ID mikrodávky. Spark zvýší toto ID pro každý interval triggeru.batch_id A 0 představuje začátek datového proudu nebo začátek úplné aktualizace. Kód foreach_batch_sink by měl správně zpracovat úplnou aktualizaci podřízených zdrojů dat. Další informace naleznete v tématu Úplná aktualizace. |