Docs Connect Components Outputs hdfs hdfs Type: OutputInput Available in: Self-Managed Sends message parts as files to a HDFS directory. Common Advanced # Common configuration fields, showing default values output: label: "" hdfs: hosts: [] # No default (required) user: "" directory: "" # No default (required) path: ${!counter()}-${!timestamp_unix_nano()}.txt max_in_flight: 64 batching: count: 0 byte_size: 0 period: "" check: "" # All configuration fields, showing default values output: label: "" hdfs: hosts: [] # No default (required) user: "" directory: "" # No default (required) path: ${!counter()}-${!timestamp_unix_nano()}.txt max_in_flight: 64 batching: count: 0 byte_size: 0 period: "" check: "" processors: [] # No default (optional) Each file is written with the path specified with the 'path' field, in order to have a different path for each object you should use function interpolations described here. Performance This output benefits from sending multiple messages in flight in parallel for improved performance. You can tune the max number of in flight messages (or message batches) with the field max_in_flight. Fields batching Allows you to configure a batching policy. Type: object # Examples: batching: byte_size: 5000 count: 0 period: 1s batching: count: 10 period: 1s batching: check: this.contains("END BATCH") count: 0 period: 1m batching.byte_size An amount of bytes at which the batch should be flushed. If 0 disables size based batching. Type: int Default: 0 batching.check A Bloblang query that should return a boolean value indicating whether a message should end a batch. Type: string Default: "" # Examples: check: this.type == "end_of_transaction" batching.count A number of messages at which the batch should be flushed. If 0 disables count based batching. Type: int Default: 0 batching.period A period in which an incomplete batch should be flushed regardless of its size. Type: string Default: "" # Examples: period: 1s period: 1m period: 500ms batching.processors[] A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op. Type: processor # Examples: processors: - archive: format: concatenate - archive: format: lines - archive: format: json_array directory A directory to store message files within. If the directory does not exist it will be created. This field supports interpolation functions. Type: string hosts[] A list of target host addresses to connect to. Type: array # Examples: hosts: - "localhost:9000" max_in_flight The maximum number of messages to have in flight at a given time. Increase this to improve throughput. Type: int Default: 64 path The path to upload messages as. Use interpolation functions to generate unique file paths. This field supports interpolation functions. Type: string Default: ${!counter()}-${!timestamp_unix_nano()}.txt user A user ID to connect as. Type: string Default: "" Back to top × Simple online edits For simple changes, such as fixing a typo, you can edit the content directly on GitHub. Edit on GitHub Or, open an issue to let us know about something that you want us to change. Open an issue Contribution guide For extensive content updates, or if you prefer to work locally, read our contribution guide . Was this helpful? thumb_up thumb_down group Ask in the community mail Share your feedback group_add Make a contribution 🎉 Thanks for your feedback! gcp_pubsub http_client