2 namedajipai namedajipai 于 2016.09.18 09:59 提问

需要实时进行排序的数据怎么存入文件比较好?

需要实时进行排序的数据怎么存入文件比较好?用什么数据结构去存储呢,要求能动态进行更新的?

2个回答

caozhy
caozhy   Ds   Rxr 2016.09.18 17:18
已采纳

用AVL树作为你的数据排序索引,如果数据量更大,可以将索引文件和数据文件分离,并且分块。

oyljerry
oyljerry   Ds   Rxr 2016.09.18 10:00

这种数据放内存中比较好,然后定期flush刷新保存到文件。类似reids等做法

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
给一千万个数据量的文件排序
#include #include #include #include #include #include #include #include #include #include #include #define MAXN 5000000 #define RST(N)memset(N, 0, sizeof(N)) using namespace std; typedef u
JAVA对文件内数据进行排序的解决办法
今天在对文件内数据进行排序时,出了点问题,我的做法是这样的:首先从键盘输入一行数数字,用BufferedReader的readline方法获得,然后用FileWriter写入到文件中。跟着用FileReader的read方法,将文件内的数据读入到自己定义的char数组中,最后再用数组的排序函数,但最终输出不对。以下是源代码:import java.io.*;import j
hbase 如何在hdfs上做到实时的
先来看MR如何在hdfs的一个大文件中检索一行数据的。一个大文件在hdfs上被拆分成很多block,在集群中不同的block通常会放在不同的datanode中,当要从改文件中检索一行数据时,每个block都会启 动一个mapper作业来遍历该block中的数据,这就意味着在不同的datanode(更确切的说应该是tasktracker,在本地化计算的时候会在datanode上)上会同时运行m
大数据量实时统计排序分页查询 优化总结
大数据量实时统计排序分页查询 (并发数较小时)  的瓶颈不是函数(count,sum等)执行, 不是having, 也不是order by,甚至不是表join, 导致慢的原因就在于“数据量太大本身” 化整为零 就是将表划分为M份相互独立的部分,可以是分表,也可以是不分表但冗余一个取模结果字段 实际结果是不分表比分表更加灵活,只需稍加配置,就可以动态切分大表,随意更改M的
从data.dat文件中读取整数求和,结果保存到same.data文件中
import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileWriter; import java.util.Scanner; public class shangke { public static void main(String[] args) { try {
菜鸟学算法:输入输出文件的海量数据(快速排序,数组排序)
作为一个菜鸟,知道zai
(1) 输入学生的基本信息,计算每个学生的平均分,并将学生信息存入磁盘文件“stud”中; (2) 将文件stud中的数据按平均分从高到低的顺序进行排序,并将排序结果存放到文件“stud_sort”中
(1)    输入学生的基本信息,计算每个学生的平均分,并将学生信息存入磁盘文件“stud”中; (2)    将文件stud中的数据按平均分从高到低的顺序进行排序,并将排序结果存放到文件“stud_sort”中; (3)    输入一个学生的基本信息,将该信息存入文件“stud_sort”中,使插入数据后仍按平均分排序,并保存在原文件“stud_sort”中; (4)    输入一个学生的
Spark之sparkStream实时监控端口读取数据存入到HDFS
sparkStream实际上就是为实时操作生成的数据提供服务的。 下面给大家介绍:通过监控虚拟机9999端口,当那边输入单词时,这边会对它进行实时的一个单词计数,并将结果存入到hdfs. 一,过程分析: maven的依赖: <dependency> <groupId>org.apache.spark</groupId> <artifactId>
实时排序算法(跳表)
说明:采用和Redis排序算法类似的跳表,支持大量数据的实时排序。 public class SkipListLevelInfo where T : class { public SkipListNode Next; public uint Span; } public class SkipListNode where T : class { public T Item
海量数据排序——如果有1TB的数据需要排序,但只有32GB的内存如何排序处理?
1、外排序   传统的排序算法一般指内排序算法,针对的是数据可以一次全部载入内存中的情况。但是面对海量数据,即数据不可能一次全部载入内存,需要用到外排序的方法。外排序采用分块的方法(分而治之),首先将数据分块,对块内数据按选择一种高效的内排序策略进行排序。然后采用归并排序的思想对于所有的块进行排序,得到所有数据的一个有序序列。  例如,考虑一个1G文件,可用内存100M的排序方法。首先将文件分成