Hadoop HDFS: Czytaj pliki sekwencji, które są zapisywane

Używam Hadoop 1.0.3.

Piszę logi do pliku sekwencji Hadoop na HDFS, po każdym pakiecie logów wywołuję syncFS (), ale nigdy nie zamykam pliku (z wyjątkiem sytuacji, gdy wykonuję codzienne przewijanie).

Chcę zagwarantować, że plik jest dostępny dla czytelników, gdy plik jest nadal zapisywany.

Mogę odczytać bajty pliku sekwencji za pośrednictwem FSDataInputStream, ale jeśli spróbuję użyć SequenceFile.Reader.next (klucz, val), zwraca on false przy pierwszym wywołaniu.

Wiem, że dane znajdują się w pliku, ponieważ mogę je odczytać za pomocą FSDataInputStream lub komendy cat i jestem w 100% pewien, że wywoływane jest syncFS ().

Sprawdziłem dzienniki nazw domen i kodów danych, brak błędów i ostrzeżeń.

Dlaczego SequenceFile.Reader nie może odczytać mojego aktualnie zapisywanego pliku?

questionAnswers(4)

yourAnswerToTheQuestion