Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Seite beschreibt bekannte Einschränkungen für den Echtzeitmodus im strukturierten Streaming.
Quellbeschränkungen
Für Kinesis unterstützt der Echtzeitmodus das Abfrageverfahren nicht. Außerdem können sich häufige Neupartitionen negativ auf die Latenz auswirken.
Unionsbeschränkungen
Der Union-Betreiber hat einige Einschränkungen:
- Selbstvereinigung wird nicht unterstützt:
- Für Kafka können Sie nicht dasselbe Quelldatenframeobjekt und von der Union abgeleitete Datenframes verwenden. Verwenden Sie als Problemumgehung unterschiedliche DataFrames, die aus derselben Quelle gelesen werden.
- Für Kinesis können Sie datenframes, die von derselben Kinesis-Quelle mit derselben Konfiguration abgeleitet sind, nicht verknüpfen. Als Problemumgehung können Sie jedem DataFrame eine andere
consumerNameOption zuweisen, anstatt andere DataFrames zu verwenden.
- Staatliche Operatoren (z. B
aggregate. ,deduplicate,transformWithState) können nicht vor der Union definiert werden. - Union mit Batchquellen wird nicht unterstützt.
mapPartitions Einschränkung
mapPartitions in Scala und ähnlichen Python APIs (mapInPandas, mapInArrow) verwendet einen Iterator der gesamten Eingabepartition und erzeugt einen Iterator der gesamten Ausgabe mit beliebiger Zuordnung zwischen Eingabe und Ausgabe. Diese APIs können Leistungsprobleme im Echtzeitmodus verursachen, indem die gesamte Ausgabe blockiert wird, wodurch die Latenz erhöht wird. Die Semantik dieser APIs unterstützt die Wasserzeichenpropagierung nicht gut.
Verwenden Sie skalare UDFs in Kombination mit transformieren komplexer Datentypen oder filter, um ähnliche Funktionalität zu erzielen.