Java apachespark能否加快从Oracle数据库读取数百万条记录并将其写入文件的过程?

Java apachespark能否加快从Oracle数据库读取数百万条记录并将其写入文件的过程?,java,oracle,apache-spark,mapreduce,spark-streaming,Java,Oracle,Apache Spark,Mapreduce,Spark Streaming,我是Apache Spark的新手 我需要从Oracle数据库中读取数百万(约500万)条记录,然后对这些记录进行一些处理,并将处理后的记录写入文件 目前,这是在Java中完成的,在这个过程中 -数据库中的记录根据某些数据标准被分类为不同的子集 -在Java进程中,4个线程并行运行 -每个线程读取记录的子集,处理并将处理后的记录写入新文件 -最后,它将所有这些文件合并到一个文件中 不过,完成整个过程大约需要半个小时 所以我想知道,ApacheSpark是否可以使这个过程快速——从Oracle D

我是Apache Spark的新手

我需要从Oracle数据库中读取数百万(约500万)条记录,然后对这些记录进行一些处理,并将处理后的记录写入文件

目前,这是在Java中完成的,在这个过程中 -数据库中的记录根据某些数据标准被分类为不同的子集 -在Java进程中,4个线程并行运行 -每个线程读取记录的子集,处理并将处理后的记录写入新文件 -最后,它将所有这些文件合并到一个文件中

不过,完成整个过程大约需要半个小时

所以我想知道,ApacheSpark是否可以使这个过程快速——从Oracle DB读取数百万条记录,处理这些记录,然后写入文件

如果Spark可以使此过程更快,那么在我的过程中使用什么样的最佳方法来实现此过程?它在非集群环境中也会有效吗


感谢您的帮助。

是的,您可以使用Spark来完成,它是为分布式处理而构建的


您应该使用配置良好的spark cluster来实现相同的目标。性能需要通过根据需要添加更多工作节点进行微调。

是的,您可以使用Spark进行微调,它是为分布式处理而构建的


您应该使用配置良好的spark cluster来实现相同的目标。您需要根据需要添加更多的工作节点来微调性能。

为什么不在PL/SQL中进行处理?消除至少一块不必要的I/O是否测量了当前设置中的限制?是java应用程序的处理速度,还是DB的搜索/传输速度?为什么不使用PL/SQL进行处理?消除至少一块不必要的I/O是否测量了当前设置中的限制?是java应用程序的处理速度,还是DB的搜索/传输速度?