Github user mattyb149 commented on a diff in the pull request: https://github.com/apache/nifi/pull/2003#discussion_r127120413 --- Diff: nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/csv/CSVRecordSetWriter.java --- @@ -48,6 +54,7 @@ @Override protected List<PropertyDescriptor> getSupportedPropertyDescriptors() { final List<PropertyDescriptor> properties = new ArrayList<>(super.getSupportedPropertyDescriptors()); + properties.add(CSVUtils.EXPLICIT_COLUMNS); --- End diff -- Sorry this is the wrong spot to leave the comment but since @CapabilityDescription (line 40/46) wasn't part of the diff, I couldn't leave the comment there. Setting Explicit Columns can affect the first line written, so the CapabilityDescription text should be updated to include that. In addition, explicitly setting the output columns is subject to the same rules as if you had an output Avro schema; namely, the output field/column names have to match the input names or else there will be empty columns/fields in the output. In the general case this is covered by processor or reader/writer doc, but since this is CSV-specific I think we should make this clear. On one hand, there is the interesting feature that columns can be re-arranged by specifying the input fields in a different order in the explicit output columns; but on the other hand, if the user expects to use the writer to rename the fields (because the names are positional), that won't work. In general, I'd like this extra flexibility/power to not be too confusing for the user, or its usefulness will be overshadowed by its complexity. For example, you can use the Explicit Columns in the CSVReader to rename the columns, and in the CSVRecordSetWriter to reorder the columns, but the inverse is not true. These could remain undocumented/unsupported features, and/or we'd need very clear documentation explaining their use.
--- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. ---