Java中的大数据处理
我正在一个项目中接收大约10个文件,每个文件包含大小为200GB的文件。我的项目要求是从每个文件中提取数据,并与其他文件进行连接并提取数据。Java中的大数据处理
E.G像我有文件1.txt我有帐户ID和我有文件2.txt,我有帐户ID和帐户名称。根据第一个文件的帐户ID我需要从第二个文件提取数据。
这样我需要对10个文件中的每一个执行操作并创建最终的输出文件。
我目前正在Java中这是真正花时间的过程。大约需要4到5个小时。
我可以通过改变来提高我的表现吗?是否有任何技术或任何工具或框架,我可以与Java集成并提高我的表现?
我已经使用了以下方法。
1)Apache Drill-我正在执行连接查询 结果:由于文件大小过大,Drill会抛出Drillbit异常。
2)Apache Beam-我正在使用并行处理来加入文件。 结果:它在组合功能下给我Out Out Memory异常。
我正在从hadoop读取这些数据。
回答:
我会建议使用Hadoop和Spark,因为Spark使用的内存模型比Map Reduce快。 也许这两个环节将帮助您:
https://content.pivotal.io/blog/3-key-capabilities-necessary-for-text-analytics-natural-language-processing-in-the-era-of-big-data
https://community.hortonworks.com/articles/84781/spark-text-analytics-uncovering-data-driven-topics.html
以上是 Java中的大数据处理 的全部内容, 来源链接: utcz.com/qa/263211.html