执行sql,并使用我自己的模式将结果(流文件)直接写入文件 。
请参见解释说明。
ExecuteSql
,并且记录具有自动生成的(嵌入的)avro模式。ConvertRecord
:记录读取器仅使用嵌入式avro模式,记录记录器使用我自己的HortonworkSchemaRegistry中的模式,因此使用{{1}来传递属性“ schema.name”和“ schema.version” }。UpdateAttribute
)它可能是这样的:
ExecuteSqlRecord
具有记录作家
然后Record Writer使用'schema.name'和'schema.version'属性从HortonworkSchemaRegistry获取avro模式
但是ExecuteSqlRecord
不支持用户定义属性
ExecuteSqlRecord
处理器的方式吗?答案 0 :(得分:2)
就目前而言,用户无法向 ExecuteSQL*
处理器添加新属性。
以下是您可以尝试的方式
使用 GenerateFlowFile
处理器
schema.name
属性添加一些值。流量:
1.GenerateFlowFile //add schema.name attribute with value.
2.ExecuteSQLRecord
2.PutFile
(或)
hard code
schema.name
值。在这种情况下,您不需要GenerateFlowFile处理器。流量:
1.ExecuteSQLRecord //hardcode schema.name property value
2.PutFile