【发布时间】:2021-11-23 11:21:25
【问题描述】:
我正在使用 Nifi 实时进行数据转换,处理后的数据存储在 Hbase 中。我正在使用puthbasejson 将数据存储在 hbase 中。在存储row key/id时,我使用的是uuid。但是在 nifi 数据来源或在线工具中单个 JSON 的原始数据大小为 390 字节。但是1500万条数据需要55GB,单条记录的数据量是3.9KB。
所以,我不知道数据是如何存储的,为什么存储在 hbase 中的数据大小大于原始数据大小以及如何在 Hbase 和 Nifi 中减少或优化(如果需要任何更改)。
JSON:
{"_id":"61577d7aba779647060cb4e9","index":0,"guid":"c70bff48-008d-4f5b-b83a-f2064730f69c","isActive":true,"balance":"$3,410.16","picture":"","age":40,"eyeColor":"green","name":"Delia Mason","gender":"female","company":"INTERODEO","email":"deliamason@interodeo.com","phone":"+1 (892) 525-3498","address":"682 Macon Street, Clinton, Idaho, 3964","about":"","registered":"2019-09-03T06:00:32 -06:-30"}
在 nifi 中重现的步骤:
generate flowfile--->PuthbaseJSON(uuid rowkey)
【问题讨论】:
-
你能查询一下hbase数据看看到底有什么吗?
-
@OneCricketeer 感谢您的回复!!,我已经使用问题中的扫描命令更新了存储在 hbase 中的数据的屏幕截图。
-
看来你在重复数据
-
好吧,好吧,Hbase生成一个row key和字符串“details”,加上每个json键/值对的时间戳,那为什么大小不会比你输入的大呢?
-
而且,当我测试单个 json 的大小=(表大小,以字节为单位)/(数据包数)时。因此,对于 10,000,值是 300 字节,然后对于 1000 万,是 3kb,我不明白为什么它会增加。对于这些表,我启用了快速压缩,否则它会占用比上述值更多的空间。
标签: hadoop hbase apache-nifi