[hadoop3.x]银行海量转账数据分层案例
Posted manor的大数据奋斗之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[hadoop3.x]银行海量转账数据分层案例相关的知识,希望对你有一定的参考价值。
银行每一天都有大量的转账、交易需要保存、处理。用户每进行一笔交易或者转账,银行都需要将用户转账的所有相关信息保存下来。
四大银行:
银行有非常多的用户,四大银行拥有数10亿的用户。要保存的数据量可想而知。如果说有的数据,都同等对待,为了保证使用数据的性能,采用的是高性能存储,这将是一笔不小的资源浪费。实际上,超过一定时间的数据,数据访问的频率要低得多。例如:用户查询5年前的转账记录、要比查询1年类的转账记录频率要低得多。
所以,为了能够更好地利用资源,需要对数据进行分层。也就是不同时间范围的数据,放在不同的层(冷热温)中。
5.1 存储分层策略
按照以下配置,在HDFS的source目录中创建以下几个文件夹:
文件夹路径 存储策略 说明
/source/bank/transfer/log_lte1y DISK 存储一年以内采集的数据 /source/bank/transfer/log_gt1y ARCHIVE 存储1年以上的数据
5.2 测试
创建文件夹
hdfs dfs -mkdir -p /source/bank/transfer/log_lte1y
hdfs dfs -mkdir -p /source/bank/transfer/log_gt1y
指定存储策略
hdfs storagepolicies -setStoragePolicy -path /source/bank/transfer/log_lte1y -policy HOT
hdfs storagepolicies -setStoragePolicy -path /source/bank/transfer/log_gt1y -policy COLD
查看存储策略
hdfs storagepolicies -getStoragePolicy -path /source/bank/transfer/log_lte1y
hdfs storagepolicies -getStoragePolicy -path /source/bank/transfer/log_gt1y
上传文件测试
上传文件到linux
rz
一年
hdfs dfs -put /root/bank_record.csv
/source/bank/transfer/log_lte1y/bank_record_2020_9.csv
五年
hdfs dfs -put /root/bank_record.csv
/source/bank/transfer/log_gt1y/bank_record_2015_9.csv
假设现在到了2021年10年,我们可以将之前的数据移动到log_gt1y
hdfs dfs -mv /source/bank/transfer/log_lte1y/bank_record_2020_9.csv
/source/bank/transfer/log_gt1y/bank_record_2020_9.csv
以上是关于[hadoop3.x]银行海量转账数据分层案例的主要内容,如果未能解决你的问题,请参考以下文章
手写实现自定义简易版Spring (实现IoC 和 AOP)
手写实现自定义简易版Spring (实现IoC 和 AOP)