Github user Wesley-Lawrence commented on the issue:

    https://github.com/apache/nifi/pull/2003
  
    @markap14 Good points. I actually considered adding a schema registry at 
first, but thought it might be too much for just making CSV in/out easier.
    
    I think using schemas falls into two categories. Case A schemas are ones 
that someone uses all the time. Having a schema registry is great then, because 
it's consistently defined in a single place. Case B schemas are one-off 
scheams. Input or output is in some format a person doesn't typically use, and 
someone is just converting to-or-from a Case A often-used schema. In this case, 
the "Schema Text" property becomes really useful. Rather than cluttering your 
registry, you can just define the Case B on-off in a processor/service, and 
never think about it again.
    
    To your point, I've only solved Case B, for CSV in/out. By adding a 
"ExplicitFieldSchemaRegistry" or "ColumnSchemaRegistry" (I think whatever this 
gets named, it's going to be ugly =P) we can tackle Case A for any type.
    
    I think to do this completely properly, we should solve this for Case A and 
B, for any type.
    
    So I personally think we should add a new schema registry for Case A, but I 
think we could also add some "Schema Format" property (defaulting to Avro) to 
`SchemaRegistryService` that informs processors how to interpret "Schema Text". 
That way, it's also easy to define Case B one-off schemas of any type.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to