Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ParquetFileReader导致过多TCP连接处于关闭等待状态_Java_Hadoop_Bigdata_Parquet_Parquet Mr - Fatal编程技术网

Java ParquetFileReader导致过多TCP连接处于关闭等待状态

Java ParquetFileReader导致过多TCP连接处于关闭等待状态,java,hadoop,bigdata,parquet,parquet-mr,Java,Hadoop,Bigdata,Parquet,Parquet Mr,我正在尝试从拼花地板文件中读取元数据信息: metaData=ParquetFileReader.readFooter(fs.getConf(),file) ; 此行在CLOSE\u WAIT-状态下打开一个连接(使用lsof-p pid命令检查) 在超过65536个文件上,它返回“打开的文件太多”错误(因此需要重新启动我的应用程序)。我试着替换为: try (ParquetFileReader r = ParquetFileReader.open(fs.getConf(), file)) {

我正在尝试从拼花地板文件中读取元数据信息:

metaData=ParquetFileReader.readFooter(fs.getConf(),file) ;
此行在
CLOSE\u WAIT
-状态下打开一个连接(使用
lsof-p pid
命令检查)

在超过65536个文件上,它返回“打开的文件太多”错误(因此需要重新启动我的应用程序)。我试着替换为:

try (ParquetFileReader r = ParquetFileReader.open(fs.getConf(), file)) {

     logger.info("Getting metadata for:" + file.toString());
     metaData = r.getFooter()

     //other code//
}

但仍然面临一个问题。我已经试过1.8.1、1.10.1、1.11.1版本的拼花hadoop罐子,但每个都有问题。

如果在循环中执行
r.close()
该怎么办?我们已经试过了,但没有成功。尽管我们在try-with-resources块中使用了这个。所以它是由try本身关闭的
try (ParquetFileReader r = ParquetFileReader.open(fs.getConf(), file)) {

     logger.info("Getting metadata for:" + file.toString());
     metaData = r.getFooter()

     //other code//
}