Hadoop HDFS: чтение файлов последовательности, которые записываются

Я использую Hadoop 1.0.3.

Я записываю журналы в файл последовательности Hadoop в HDFS, я вызываю syncFS () после каждой группы журналов, но я никогда не закрываю файл (за исключением случаев, когда я выполняю ежедневное обновление).

То, что я хочу гарантировать, - то, что файл доступен читателям, в то время как файл все еще пишется.

Я могу прочитать байты файла последовательности через FSDataInputStream, но если я пытаюсь использовать SequenceFile.Reader.next (key, val), он возвращает false при первом вызове.

Я знаю, что данные находятся в файле, так как я могу прочитать их с помощью FSDataInputStream или с помощью команды cat, и я на 100% уверен, что вызывается syncFS ().

Я проверил логи namenode и datanode, никаких ошибок или предупреждений.

Почему SequenceFile.Reader не может прочитать мой записываемый файл?

Ответы на вопрос(4)

Ваш ответ на вопрос