收集框架,大数据和最佳实践

时间:2015-08-06 06:55:56

标签: java hadoop data-structures collections bigdata

我有以下课程

public class BdFileContent {
    String filecontent;
}

E.g file1.txt包含以下内容:

This is test
  • “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>

我希望得到一些真实用例和经验的提示。

2 个答案:

答案 0 :(得分:6)

当您处理大数据时,您必须改变方法。首先,您必须假设所有数据都不适合单个机器的内存,因此您需要在多台机器之间分割数据,让它们计算您需要的内容,然后将所有这些重新组合在一起。因此,您可以使用Collection,但仅限于整个工作的一部分。

我建议你看看:

  • Hadoop:处理大数据的第一个框架
  • Spark:大数据的另一个框架,通常比Hadoop
  • 更快
  • Akka:编写分布式应用程序的框架

虽然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 BasicsApache Hadoop。 HDFC文件系统可靠而且容错系统。

  

他们是否使用多节点数据结构,每个节点在不同的JVM上运行?

是。请参阅Hadoop 2.0 YARN archictecture

  

通常,其他开发人员对大数据的数据结构采用何种方法?

有很多。请参阅:Hadoop Alternatives

  

其他开发者如何处理它?

通过框架提供各自的技术。 Hadoop的Map Reduce框架

  

我希望得到一些真实用例和经验的提示

BigData技术在RDBMS失败的情况下非常有用 - 数据分析,数据仓库(用于报告和数据分析的系统)。一些用例 - 推荐引擎(LinkedIn),广告定位(youtube) ,处理大量数据 - 找到最热/最冷的日子 股价分析 市场趋势 >等等。

请参阅Big Data Use Cases

的许多实际使用案例