文件名称:InsightChallenge:Insight 数据工程编码挑战的解决方案
文件大小:7KB
文件格式:ZIP
更新时间:2024-07-07 10:11:49
Java
洞察力挑战 Insight 数据工程编码挑战的解决方案。 字数为了解决这个问题,一个简单的方法是将所有看到的单词的计数存储在内存中的哈希表中,但是这个解决方案不能很好地扩展到大输入(当单词域太大而无法放入内存时) . 相反,我们使用流和排序范式,在其中我们对所有单词进行排序(按字典顺序),这确保了一个单词的所有实例都组合在一起。 现在,我们可以流过一个单词的实例,累加它的计数并写出来。 为了获得更好的运行时性能,我们可以在内存中的哈希表中缓冲其中一些字数,并在表中的条目数超过阈值时将它们溢出到磁盘。 运行中位数 用恒定的内存量维持无限输入流的运行中位数是不可能的。 但是,这里我们假设我们可以对数据进行初始传递,并且数据是完整的(每行字数)。 因此,我们可以通过对数据进行第一次传递来确定一行中出现的最大单词数(我们称之为 k)。 使用它,我们声明了一个数组来存储单词计数的频率。 在第二遍
【文件预览】:
InsightChallenge-master
----wc_input()
--------input(96B)
----wc_output()
--------wc_result.txt(93B)
----src()
--------Tokenize.java(1KB)
--------MaxKey.java(831B)
--------RunningMedian.java(3KB)
--------WordCount.java(1KB)
----.project(375B)
----.classpath(226B)
----run.sh(525B)
----.gitignore(189B)
----README.md(1KB)