Как установить тип контента CSV в Apache NIFI писателя? - PullRequest
0 голосов
/ 04 ноября 2019

Я пишу пользовательский процессор nifi, который обрабатывает xlsx в csv, и в своем коде я генерирую строку csv, подобную этой, из xlsx, но я не знаю, как отправить ее как csv, а другие процессоры, такие как infravroschema, из csvможет распознать inpustream как csv.

final AtomicReference<String> value = new AtomicReference<>();

String csvToString= "
name,age,info
javo,23,wasa
pepe,34,lima"

value.set(csvToString);

И в моем коде я отправляю его таким образом, но когда я вижу происхождение данных, оно появляется как текст типа контента:

String results = value.get();
       if(results != null && !results.isEmpty()){
           flowFile = session.putAttribute(flowFile, "csv", results);
       }
       flowFile = session.write(flowFile, new OutputStreamCallback() {
           @Override
           public void process(OutputStream out) throws IOException {
               out.write(value.get().getBytes());
           }
       });
       session.transfer(flowFile, SUCCESS);

1 Ответ

1 голос
/ 04 ноября 2019

Имя атрибута для типа контента в nifi с именем mime.type

Итак, вы должны установить его значение на csv.

flowFile = session.putAttribute(flowFile, "mime.type" "csv");
...