我将所有需要的Parquet表存储在hadoop文件系统中,并且所有这些文件都有一个唯一的标识路径。这些路径作为json被推送到rabbitmq队列中,并由使用者(在cherrypy中)使用以进行处理。在成功消费之后,发送第一个路径进行读取,并且一旦前面的读取过程完成,将读取以下路径。现在阅读一个特定的表,我使用下面的代码行,
data_table = parquet.read_table(path_to_the_file)
假设我有五个阅读任务。正在执行第一个读取过程并成功读取,现在在执行其他读取任务之前,我只是手动停止了服务器。此停止不会向队列发送消息执行成功确认,因为还有四个剩余的读取进程。一旦重新启动服务器,整个消费和读取过程就从初始阶段开始。现在,当read\u table方法在第一条路径上被调用时,它就完全卡住了。
通过深入了解read\ u table方法的工作流程,我发现了它实际上被卡住的地方。但是对于这种读取hadoop文件系统中的文件的方法还需要进一步的解释。
path = 'hdfs://173.21.3.116:9000/tempDir/test_dataset.parquet'
data_table = parquet.read_table(path)
有人能给我一张调用这个方法后发生的内部实现的图片吗?这样我就可以找到问题真正发生的地方和解决方法。
暂无答案!
目前还没有任何答案,快来回答吧!