AbsaOSS / AbsaOSS/spline-spark-agent
Capturing Lineage when Data is not Written
- Lenguaje dominante
- Scala
- Estrellas
- 210
- Forks
- 102
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 1
Descripción
I have a question on capturing lineage for operations that are not Written, but reads are still performed.
Take for example this code:
`result = spark.sql("select * from hive.table limit 1").collect()`
Has a materialized dataframe, which could be used to parameterize subsequent queries, or produce reports or datasets that may be written to resources outside spark, but I don't believe lineage is captured via Spline.
We have quite a few use cases where we want to capture lineage in this scenario and want to gauge what it may take for these lineage records to flow to the `LineageDispatcher`. We are using a custom LineageDispatcher for our case as well. Additionally we will be adding additional "Meta Information" to these lineage records so that they still have "Attribution" to the Job(code) or User who performed the read or write.
Thanks, I understand why Spline doesn't capture Lineage without a write, as it's a Dataset to Dataset lineage tool, but want to start a discussion to understand what may be needed to enable this, or if it's realistic in general.
Thanks for the advice.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Start with the Spark SQL read example and the LineageDispatcher entry point. Review the stated Dataset-to-Dataset behavior, custom dispatcher use case, and requested meta information; done means reaching a documented feasibility decision with agreed scope for capturing lineage from read-only operations.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- scala, spark
- Área
- data-engineering
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100