title: Spark structured streaming filter and write to many outputs
body: <p>I want to use Spark Structured Streaming to filter an Event Hub stream to separate objects of different type (JSON objects with different schemas) and write each object type to it's own file store.</p>
  
  <p>Am I right if I assume the only supported way to do this is to create a <code>ForeachWriter</code>, cache the microbatch and do the filtering and writing in the process method?</p>
  
  <p>I don't want to create one read stream per filtered write stream, that would severely hamper the egress capacity from the Event Hub.</p>