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.
---