[ 
https://issues.apache.org/jira/browse/NIFI-3921?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Koji Kawamura updated NIFI-3921:
--------------------------------
    Description: 
Currently, any record writer has to retrieve schema from either SchemaRegistry 
or Schema text. It doesn't work well with schema embedded Avro record as 
incoming FlowFile, or used with any schema inferable readers such as CSVReader.

For example, ExecuteSQL outputs Avro record with schema embedded, and if user 
wants to convert it to Json, they have to register the schema to SchemaRegistry.

I expect we don't have to touch registry in that use-case.

AvroReader has 'Use Embedded Avro Schema' option for 'Schema Access Strategy', 
so processor such as ConvertRecord or QueryRecord can read record with embedded 
schema, however since any writer doesn't have such option for 'Schema Access 
Strategy', user have to register the schema in a SchemaRegistry for those 
record operations to work properly.

I had to view a FlowFile which has embedded schema from NiFi content viewer and 
copy the schema text then add it to registry. Plus extra UpdateAttribute is 
needed to add 'schema.name' attribute. These extra work can be avoided.

If writers can utilize embedded schema, we can provide more seamless UX with 
schema embedded data.

Probably we can use schema attached to record that Bryan Bende mentioned at 
nifi-dev ML:
{quote}
When a reader produces a record it attaches the schema it used to the
record, but we currently don't have a way for a writer to use that
schema when writing a record, although I think we do want to support
that... something like a "Use Schema in Record" option as a choice in
the 'Schema Access Strategy' of writers.
{quote}

  was:
Currently, any record writer has to retrieve schema from either SchemaRegistry 
or Schema text. It doesn't work well with schema embedded Avro record as 
incoming FlowFile.

For example, ExecuteSQL outputs Avro record with schema embedded, and if user 
wants to convert it to Json, they have to register the schema to SchemaRegistry.

I expect we don't have to touch registry in that use-case.

AvroReader has 'Use Embedded Avro Schema' option for 'Schema Access Strategy', 
so processor such as ConvertRecord or QueryRecord can read record with embedded 
schema, however since any writer doesn't have such option for 'Schema Access 
Strategy', user have to register the schema in a SchemaRegistry for those 
record operations to work properly.

I had to view a FlowFile which has embedded schema from NiFi content viewer and 
copy the schema text then add it to registry. Plus extra UpdateAttribute is 
needed to add 'schema.name' attribute. These extra work can be avoided.

If writers can utilize embedded schema, we can provide more seamless UX with 
schema embedded data.


> Utilize schema embedded in incoming FlowFile from record Writers
> ----------------------------------------------------------------
>
>                 Key: NIFI-3921
>                 URL: https://issues.apache.org/jira/browse/NIFI-3921
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: 1.2.0
>            Reporter: Koji Kawamura
>
> Currently, any record writer has to retrieve schema from either 
> SchemaRegistry or Schema text. It doesn't work well with schema embedded Avro 
> record as incoming FlowFile, or used with any schema inferable readers such 
> as CSVReader.
> For example, ExecuteSQL outputs Avro record with schema embedded, and if user 
> wants to convert it to Json, they have to register the schema to 
> SchemaRegistry.
> I expect we don't have to touch registry in that use-case.
> AvroReader has 'Use Embedded Avro Schema' option for 'Schema Access 
> Strategy', so processor such as ConvertRecord or QueryRecord can read record 
> with embedded schema, however since any writer doesn't have such option for 
> 'Schema Access Strategy', user have to register the schema in a 
> SchemaRegistry for those record operations to work properly.
> I had to view a FlowFile which has embedded schema from NiFi content viewer 
> and copy the schema text then add it to registry. Plus extra UpdateAttribute 
> is needed to add 'schema.name' attribute. These extra work can be avoided.
> If writers can utilize embedded schema, we can provide more seamless UX with 
> schema embedded data.
> Probably we can use schema attached to record that Bryan Bende mentioned at 
> nifi-dev ML:
> {quote}
> When a reader produces a record it attaches the schema it used to the
> record, but we currently don't have a way for a writer to use that
> schema when writing a record, although I think we do want to support
> that... something like a "Use Schema in Record" option as a choice in
> the 'Schema Access Strategy' of writers.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to