我是Python,PyTables和HDF5的新手。我正在为我的问题寻找简单和最好的解决方案。
下一个是问题。一方面,我有许多带有数据的XML文件。我只想解析这些文件并将数据放在另一边的hdf5文件中。稍后,我将使用这些数据通过一些搜索criteria.Why HDF5?因为需要放置大数据集和速度。使用RDBMS会在连接操作中出现性能问题。解决方案必须提供速度和良好的内存性能。
在googling搜索之后,我发现Python和PyTables是可能的解决方案。我的想法是在Java中解析来自XML的数据(这段代码必须在Java中写),然后编写python脚本,使用hdf5 API在PyTables中插入数据,然后从PyTables执行PyTables脚本。因此,我正在编写和执行Java程序的python脚本。为了用Java编写python脚本,我使用java.io.*包并在Java中执行流程类。例如:
p.exec("cmd /c C:\MyScripts\myscript.py")
我不知道这个解决方案好吗。对我来说,用java.io.*从Java编写脚本并不酷。可能,稍后我在读取脚本结果时会遇到问题(当我使用Python和PyTables API制定一些搜索条件时)。
所以,我对我的问题很少有疑问。从一边解析XML数据到另一边用hdf5存储数据之间的最佳解决方案是什么?使用此解决方案(从Java代码编写和执行python脚本)是否正确?Python和PyTables呢?这些技术能很好地解决我的问题吗?此外,我还读到了关于Jython的一些内容,但我不知道是否可能将它与PyTables结合起来?
欢迎来自专业人士的意见和建议。谢谢你的帮助。
发布于 2012-01-18 02:23:27
对于我来说,
不是用
java.io.*编写脚本的酷工具。
这里也是如此--您已经将XML中的数据解析为Java中的一些内部表示,然后将这些数据重新写入Python脚本,然后Python解释器将数据重新解析为一个内部表示,以便写入HDF5文件。它将Java解析接口、XML数据格式和用于操作HDF5文件的Python结合在一起,这听起来比应该有更多的移动部件。(您真的想通过javac来更新重命名的Python包吗?)
我认为值得再退一步,看看问题的两个步骤:
没有理由在这两种语言之间使用两种语言--我会完全使用Java或Python。无论您选择哪种语言,最终结果都将在更少的内存中运行得更快,并且更易于维护。
https://stackoverflow.com/questions/8904318
复制相似问题