如何在 NiFi DistributedMapCache 中保留配置单元 table

How to keep hive table in NiFi DistributedMapCache

我想在 NiFi DistributedMapCache 中保留我的 hive/MySQL table。有人可以帮我举个例子吗?

或者如果我们无法在 NiFi 缓存中缓存 hive table,请纠正我。

谢谢

您可以使用 SelectHiveQL 处理器从 Hive table 中提取数据并输出格式为 CSV 并将 Header 作为 false.

SplitText 处理器将每一行拆分为单独的流文件。

备注 如果您的流程文件很大,那么您必须使用一系列串联的拆分文本处理器将流程文件分别拆分为每一行

ExtractText 处理器从流文件内容中提取关键属性。

PutDistributedMapCache 处理器

Configure/Enable DistributedMapCacheClientService、DistributedMapCacheServer 控制器服务。

添加缓存条目标识符 属性 作为您从 ExtractText 处理器提取的属性。

您需要根据流文件大小更改最大缓存条目大小。

要获取缓存的数据,您可以使用 FetchDistributedMapCache 处理器,我们需要对缓存在 PutDistributedMapCache[=55 中的标识符使用相同的精确值=]

如果您想从 外部来源 加载数据,我们将以相同的方式使用 Avro 格式的数据,请使用 ConvertRecord处理器转换 Avro --> CSV 格式,然后将数据加载到分布式缓存中。

然而,对于大型数据集,将所有数据加载到 distributedmapcache 并不是最佳做法,因为您也可以使用 lookuprecord 处理器。