我有以下课程
public class BdFileContent {
String filecontent;
}
E.g file1.txt包含以下内容:
This is test
假设以下是文件夹结构:
lineage
|
+-folder1
| |
| +-file1.txt
| +-file2.txt
|
+-folder2
| |
| +-file3.txt
| +-file4.txt
+-...
|
+-...+-fileN.txt
。 。 。
N
N> 1000个文件
N值将是非常巨大的值
BdFileContent类表示目录中文件中的每个字符串。
我必须做大量的数据操作,需要在复杂的数据结构上创建工作。我必须在内存和磁盘上执行计算。
ArrayList<ArrayList<ArrayList<BdFileContent>>> filecontentallFolderFileAsSingleStringToken = new ArrayList<>();
例如,Above对象表示目录的所有文件内容。我必须在BdTree中为树节点添加此对象。
我正在编写自己的树并添加 filecontentallFolderFileAsSingleStringToken作为节点。
在什么范围内,集合框架数据结构适用于大量数据。
此时我想了解大公司如何使用数据结构来处理每天生成的大量数据。
他们使用的是收藏框架吗?
他们是否使用自己的自定义数据结构?
他们是否使用多节点数据结构,每个节点在不同的JVM上运行?
直到现在集合对象在单个jvm上运行,并且当内存中存在溢出流信号并且缺少处理资源时,无法动态使用另一个jvm
通常情况下,其他开发人员处理大数据的数据结构是什么?
其他开发者如何处理它?</ strong>
我希望得到一些真实用例和经验的提示。
答案 0 :(得分:6)
当您处理大数据时,您必须改变方法。首先,您必须假设所有数据都不适合单个机器的内存,因此您需要在多台机器之间分割数据,让它们计算您需要的内容,然后将所有这些重新组合在一起。因此,您可以使用Collection,但仅限于整个工作的一部分。
我建议你看看:
虽然Hadoop和Spark是大数据世界的事实上的标准,但Akka只是一个在很多环境中使用的框架,而不仅仅是大数据:这意味着你必须写一个很多Hadoop和Spark已经拥有的东西;为了完整起见,我把它放在列表中。
您可以阅读WordCount示例,即&#34; HelloWorld&#34;等同于大数据世界,了解MapReduce编程范例如何适用于Hadoop,或者您可以查看quick start guide以获得与Spark等效的转换。
答案 1 :(得分:3)
这些是您的查询的答案(这些查询通过记住Hadoop来解决)
他们使用的是收藏框架吗?
没有。在Hadoop的情况下使用HDFS文件系统。
他们是否使用自己的自定义数据结构?
您必须了解HDFS - Hadoop分布式文件系统。请参阅Orielly - Hadoop:The Definitive Guide,第3版购买此书。如果您想在不购买图书的情况下了解基本面,请尝试此链接 - HDFC Basics或Apache Hadoop。 HDFC文件系统可靠而且容错系统。
他们是否使用多节点数据结构,每个节点在不同的JVM上运行?
是。请参阅Hadoop 2.0 YARN archictecture
通常,其他开发人员对大数据的数据结构采用何种方法?
有很多。请参阅:Hadoop Alternatives
其他开发者如何处理它?
通过框架提供各自的技术。 Hadoop的Map Reduce框架
我希望得到一些真实用例和经验的提示
BigData技术在RDBMS失败的情况下非常有用 - 数据分析,数据仓库(用于报告和数据分析的系统)。一些用例 - 推荐引擎(LinkedIn),广告定位(youtube) ,处理大量数据 - 找到最热/最冷的日子超过100年的天气详情, 股价分析 , 市场趋势 >等等。
的许多实际使用案例