Limitações do modo em tempo real
Esta página descreve as limitações conhecidas do modo tempo real em transmissão estruturada.
Limitações da fonte
Para o Kinesis, o modo em tempo real não suporta o modo de polling. Além disso, repartições frequentes podem afetar negativamente a latência.
Limitações sindicais
O operador Union apresenta algumas limitações:
-
A auto-união não é suportada:
- No Kafka, não é possível usar o mesmo objeto de dataframe de origem e unir dataframes derivados dele. Como solução alternativa, utilize DataFrames diferentes que leiam da mesma fonte.
- No caso do Kinesis, não é possível unir quadros de dados derivados da mesma fonte Kinesis com a mesma configuração. Como solução alternativa, em vez de usar DataFrames diferentes, você pode atribuir uma opção
consumerNamediferente a cada DataFrame.
-
Operadores com estado (por exemplo,
aggregate,deduplicate,transformWithState) não podem ser definidos antes da União. -
A união com fontes de lotes não é suportada.
mapPartitions limitação
mapPartitions Em Scala e APIs Python semelhantes (mapInPandas, mapInArrow) recebe um iterador de toda a partição de entrada e produz um iterador de toda a saída com mapeamento arbitrário entre entrada e saída. Essas APIs podem causar problemas de desempenho no modo em tempo real, bloqueando toda a saída, o que aumenta a latência. A semântica dessas APIs não oferece bom suporte à propagação de marcas d'água.
Use UDFs escalares combinadas com Transform tipos de dados complexos ou filter em vez disso para obter funcionalidade semelhante.