2016-08-03 27 views
1

私は提供されたファイルに基づいてavroスキーマを推測する共通のプロセスグループを持っています。しかし私はAvroレコード名を、私が供給しているファイル名に対応する名前に設定したいと思います。だから私は$ {filename}を使いました。しかし、InferAvroSchemaは、レコード名が空であるとエラーしています。 $ {filename}の値があるかどうかを確認するためにReplaceTextを使ってテストしたので値はあります。InferAvroSchema Avroレコード名はフロー属性に基づいています

答えて

2

残念ながらこれはInferAvroSchemaのバグのようです。多くのプロパティが式言語をサポートしていますが、プロセッサは入ってくるフローファイルに対して評価しません。そのため、プロパティに直接入力された値(EL以外)、またはシステムプロパティや環境プロパティの値が実際には多くのこれらのプロパティに対して意味をなさない場合にのみ使用できます。

私は問題のために、このJIRAを作成しました: https://issues.apache.org/jira/browse/NIFI-2465

を修正がevaluateAttributeExpressionsへの呼び出しのすべてが()のようなフローファイルに渡すべきであるということである。

context.getProperty(CSV_HEADER_DEFINITION).evaluateAttributeExpressions(inputFlowFile).getValue() 
関連する問題