2015-06-23 51 views
0

我注意到在一个应用程序中,并发读取(使元数据无效)和OVERWRITING表导致底层文件损坏。Impala并行读取和覆盖

这是一个已知的场景吗?我期望当表被覆盖时,并发读取将失败,它不会破坏表的底层文件。

帮助将不胜感激!

回答

0

如果文件被破坏,则应该不是是由并发读取和写入引起的。 HDFS是一个只读/附加文件系统,Impala将始终写入新文件。插入时,文件将写入暂存目录,在文件完成之前,Impala将不会读取该文件,此时它们将被移动到表/分区目录中。

需要考虑的几件事:如果独立于选择运行插入,那么文件是否正常?腐败是什么意思?它在Hive中工作吗?你正在运行什么版本的Impala?

+0

表格不可读(即使不是来自配置单元,所以我认为元数据已损坏),我不打包查询这些表,既不能够插入新记录,所以作为解决方法,我创建了一个新表,(因为我之前在做插入覆盖,所以创建一个新表并在之后添加记录)这不是一个解决方案,但是直到我找到某个东西,我才开始继续应用。是的,如果我独立于选择运行插入,文件就OK! 。我正在使用cdh5,impala 2.1.3 – ganeshTripathi