我有一个NIFI流从eventhub获取一些数据,我得到那些流文件,然后我合并它们,我将它们从JSON转换为AVRO,然后我将它从AVRO转换为ORC,最后我使用PutHDFS写入他们在Datalake。将使用spark和Hive查询此数据。
所以我想得到的就是将所有这个过程留在数据池中的250 MB orc文件,并建议使用ZLIB压缩。
现在我遇到的问题是,我最终会使用压缩非常小的文件,而不是达到远离我的目标的150 MB。
我尝试过以不同方式配置MergeContent的几种方法,假设每个文件的最大年龄应为15分钟,最小尺寸为2 GB,流量文件大小为300000。这种方法通常会给我一个1.4GB大小的流文件,最后在最后一个处理器中留下一个或多或少120 MB的文件。
所以我的目标是,获取JSON文件并将它们保留为ORC格式的DataLake,大小为250 MB。
我的方法不正确吗?有什么建议?感谢。
如果您需要查看我的配置,我可以添加它们。 MergeContent configuration