Les pipelines de données en streaming peuvent échouer pour diverses raisons. Étant donné que les données sources, telles que les sujets Kafka, ont souvent une rétention limitée, des échecs prolongés des travaux peuvent entraîner une perte de données. Ainsi, les travaux de streaming doivent être remplissables à tout moment pour éviter la perte de données en cas d'échecs.
Une solution consiste à augmenter la rétention de la source afin que le remplissage consiste simplement à rejouer les flux sources, mais prolonger la rétention de Kafka est très coûteux pour les tailles de données de Netflix. Une autre solution est d'utiliser les données sources stockées dans le DWH, communément connu sous le nom d'architecture Lambda. Cependant, cette méthode introduit une duplication de code significative, car elle nécessite que les ingénieurs maintiennent un travail par lot équivalent séparé.
Chez Netflix, nous avons créé le connecteur Iceberg Source pour fournir des capacités de remplissage aux applications de streaming Flink. Il permet à Flink de diffuser des données stockées dans Apache Iceberg tout en reflétant la sémantique d'ordre de Kafka, ce qui nous permet de remplir des pipelines Flink à état à grande échelle à faible coût de rétention.
Connectez-vous avec nous :