[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]银行海量转账数据分层案例的主要内容,如果未能解决你的问题,请参考以下文章

transaction事务案例--银行转账

案例银行转账存储过程

手写实现自定义简易版Spring (实现IoC 和 AOP)

手写实现自定义简易版Spring (实现IoC 和 AOP)

阶段3 2.Spring_07.银行转账案例_9 基于子类的动态代理

事务——银行转账