Partilhar via


Limitações do modo em tempo real

Esta página descreve limitações conhecidas para o modo em tempo real em Streaming Estruturado.

Limitações da fonte

Para o Kinesis, o modo em tempo real não suporta o modo de sondagem. Além disso, repartições frequentes podem afetar negativamente a latência.

Limitações sindicais

O operador da União tem algumas limitações:

  • A auto-união não é suportada:
    • Para Kafka, não podes usar o mesmo objeto de data frame de origem e unir dataframes derivados dele. Como solução alternativa, use DataFrames diferentes que leiam da mesma fonte.
    • Para Kinesis, não se podem unir quadros de dados derivados da mesma fonte Kinesis com a mesma configuração. Como solução alternativa, em vez de usar DataFrames diferentes, pode atribuir uma opção diferente consumerName a cada DataFrame.
  • Operadores com estado (por exemplo, aggregate, deduplicate, transformWithState) não podem ser definidos antes da União.
  • Não há suporte para a junção com fontes de lote.

mapPartitions Limitação

mapPartitions em Scala e APIs Python semelhantes (mapInPandas, mapInArrow) pega num 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. Estas APIs podem causar problemas de desempenho em modo em tempo real ao bloquear toda a saída, o que aumenta a latência. A semântica destas APIs não suporta bem a propagação de metadados.

Use UDFs escalares combinados com Transform tipos de dados complexos ou filter para obter funcionalidades semelhantes.