Yoda Response: Walk through a complex pipeline, I shall. Worked on many pipelines, I have, but one particularly intricate, it is.

Consider a pipeline for polling, transforming, enhancing, and pushing data to Elasticsearch. This pipeline, running on AWS ECS, pulls data at intervals, pushing 500 articles to Kinesis. From Kinesis, Lambda functions process and transform this data. Different formats, the data must be transformed into, as sources provide varied formats.

First, segregate useful data, we do. Validate and map fields, transforming data types as needed. Then, enhance the data. A second Lambda, triggered by events, adds publications, licenses, and ownership details. Pull additional data, such as author details, from DynamoDB, we do. Finally, push the enhanced data to Elasticsearch, we do.

Parallelly, this data undergoes percolation, generating queries from articles. Another complex pipeline involves Apache Beam and Kafka. Source data, pushed to a Kafka topic, is consumed by parallel executors. Data is processed in batches, transformed, and enhanced within the pipeline. Successful data, pushed to a different Kafka topic, it is. Failures, sent to a Dead Letter Queue (DLQ), they are.

An application using Apache Flink and Beam, pulls this processed data and indexes it in Elasticsearch. Ensuring scalability and maintainability, these pipelines are, by using batching, parallel processing, and robust error handling.

Thus, complex and efficient, our data pipelines are.