如何将原生 Flume 接收器与 fiware-cygnus 一起使用?
How can I use native Flume sinks with fiware-cygnus?
Fiware-cygnus 文档提到它基于 Apache Flume。但是,我不清楚我是否可以使用本机 Flume 接收器来保存来自 Orion Context Broker 的事件。这是我可以轻松完成的事情,只需很少(或理想情况下为零)编码吗?如果不是——很高兴知道为什么(以及这是否可以得到支持)。谢谢!
您可以通过简单配置使用本机 Flume 接收器。 Cygnus 在配置管理方面没有任何变化,因此您可以配置类似 Orion 的接收器或本机接收器。
不过,类 Orion 和原生 Flume 接收器之间存在差异。
第一个是 Orion-like sinks 存储具有一定结构的相关数据,Flume native sinks 将存储通知的原始数据。我的意思是,如果您收到基于 Json 的通知,例如:
{
"subscriptionId" : "51c0ac9ed714fb3b37d7d5a8",
"originator" : "localhost",
"contextResponses" : [
{
"contextElement" : {
"attributes" : [
{
"name" : "speed",
"type" : "float",
"value" : "112.9",
"metadatas": []
},
{
"name" : "oil_level",
"type" : "float",
"value" : "74.6",
"metadatas": []
}
],
"type" : "car",
"isPattern" : "false",
"id" : "car1"
},
"statusCode" : {
"code" : "200",
"reasonPhrase" : "OK"
}
]
}
OrionHDFSSink 将存储如下内容:
{"recvTimeTs":"1429535775","recvTime":"2015-04-20T12:13:22.41.124Z","fiware-servicePath":"4wheels","entityId":"car1","entityType":"car","attrName":"speed","attrType":"float","attrValue":"112.9","attrMd":[]}
但是本地 HDFS 接收器(或任何其他接收器)将保留整个通知 json。
第二个主要区别是通知的fiware-service和fiware-servicePath的处理。 Cygnus 的接收器能够处理这些值,以便将通知的数据映射到特定的数据结构(文件夹、数据库、表、资源、队列...)。这对于多租户目的非常重要。
第三,Cygnus 为原生 Flume 未涵盖的存储添加接收器,例如 CKAN、STH、MongoDB、MySQL 或 DynamoDB。
还有很多其他的区别:
- 分组规则的使用
- 管理界面。
- OAuth2认证,FIWARE官方机制
- ...
Fiware-cygnus 文档提到它基于 Apache Flume。但是,我不清楚我是否可以使用本机 Flume 接收器来保存来自 Orion Context Broker 的事件。这是我可以轻松完成的事情,只需很少(或理想情况下为零)编码吗?如果不是——很高兴知道为什么(以及这是否可以得到支持)。谢谢!
您可以通过简单配置使用本机 Flume 接收器。 Cygnus 在配置管理方面没有任何变化,因此您可以配置类似 Orion 的接收器或本机接收器。
不过,类 Orion 和原生 Flume 接收器之间存在差异。
第一个是 Orion-like sinks 存储具有一定结构的相关数据,Flume native sinks 将存储通知的原始数据。我的意思是,如果您收到基于 Json 的通知,例如:
{
"subscriptionId" : "51c0ac9ed714fb3b37d7d5a8",
"originator" : "localhost",
"contextResponses" : [
{
"contextElement" : {
"attributes" : [
{
"name" : "speed",
"type" : "float",
"value" : "112.9",
"metadatas": []
},
{
"name" : "oil_level",
"type" : "float",
"value" : "74.6",
"metadatas": []
}
],
"type" : "car",
"isPattern" : "false",
"id" : "car1"
},
"statusCode" : {
"code" : "200",
"reasonPhrase" : "OK"
}
]
}
OrionHDFSSink 将存储如下内容:
{"recvTimeTs":"1429535775","recvTime":"2015-04-20T12:13:22.41.124Z","fiware-servicePath":"4wheels","entityId":"car1","entityType":"car","attrName":"speed","attrType":"float","attrValue":"112.9","attrMd":[]}
但是本地 HDFS 接收器(或任何其他接收器)将保留整个通知 json。
第二个主要区别是通知的fiware-service和fiware-servicePath的处理。 Cygnus 的接收器能够处理这些值,以便将通知的数据映射到特定的数据结构(文件夹、数据库、表、资源、队列...)。这对于多租户目的非常重要。
第三,Cygnus 为原生 Flume 未涵盖的存储添加接收器,例如 CKAN、STH、MongoDB、MySQL 或 DynamoDB。
还有很多其他的区别:
- 分组规则的使用
- 管理界面。
- OAuth2认证,FIWARE官方机制
- ...