Data pipeline framework