[hadoop3.x]HDFS之银行海量转账数据分层案例(八)
【摘要】 银行每一天都有大量的转账、交易需要保存、处理。用户每进行一笔交易或者转账,银行都需要将用户转账的所有相关信息保存下来。四大银行:银行有非常多的用户,四大银行拥有数10亿的用户。要保存的数据量可想而知。如果说有的数据,都同等对待,为了保证使用数据的性能,采用的是高性能存储,这将是一笔不小的资源浪费。实际上,超过一定时间的数据,数据访问的频率要低得多。例如:用户查询5年前的转账记录、要比查询1年...
银行每一天都有大量的转账、交易需要保存、处理。用户每进行一笔交易或者转账,银行都需要将用户转账的所有相关信息保存下来。
四大银行:
银行有非常多的用户,四大银行拥有数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
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)