sql—从java进行数据处理的工具

zlhcx6iw  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(413)

我有一个遗留系统,它使用sas从数据库中摄取原始数据,清理和整合数据,然后对输出的文档进行评分。
我想转向java或类似的面向对象解决方案,这样我就可以实现单元测试,或者更好的代码控制(我说的不是彻底改造整个系统,而是尽可能地注入java)。
在数据大小方面,我们讨论的是大约1 tb的数据被摄取和创建。就伸缩性而言,这可能会增加约10倍,但不太可能像全球网络项目那样大规模增加。
问题是-什么工具最适合这种项目?
我在哪里可以找到这些信息-应该使用什么搜索词?
对sql数据库进行处理(创建和删除表,根据需要添加列)是合适的还是糟糕的解决方案?
我已经快速浏览了hadoop—但是由于这个项目的规模很小,hadoop会是一个不必要的复杂问题吗?
是否有java包在合并、连接、排序、分组数据集以及修改数据方面具有与sas或sql类似的功能?

2lpgd968

2lpgd9681#

鉴于你的问题陈述,我很难确切地说明你需要什么。
这听起来像是一个很好的数据库api(也就是说,本机jdbc可能是一个好的开源数据库后端所需要的全部)
不过,我觉得你应该花点时间去看看lucene。这是一个很棒的工具,可以很好地满足你的得分需求。用搜索引擎索引的方法来解决你的问题可能会很有成效。

uwopmtnx

uwopmtnx2#

我想你需要问自己的问题是
你的数据集的性质是什么,多久更新一次。
您将来在这个1tb或更多数据上的工作量是多少。会主要进行离线阅读和分析操作吗?或者还会有很多随机写操作?
这里有一篇关于是否选择使用hadoop的文章,我认为值得一读。
如果您只需要每天或每周更新数据集,那么hadoop是一个更好的选择。而对数据的主要操作是只读操作,随着数据的进一步分析。对于您提到的合并、连接、排序、分组数据集操作,cascading是一个运行在hadoop之上的java库,它很好地支持这个操作。

相关问题