Как я уже изучил, файлы журнала, созданные Mongodb, сжимаются с использованием алгоритма мгновенного сжатия. но я не могу распаковать этот сжатый файл журнала. Это дает ошибку при попытке распаковатьКак распаковывать файлы журнала mongo
поток ошибок отсутствует мгновенным идентификатор
код Python Я использовал распаковывать следующим образом:
import collections
import bson
from bson.codec_options import CodecOptions
import snappy
from cStringIO import StringIO
try:
with open('journal/WiredTigerLog.0000000011') as f:
content = f.readlines()
fh = StringIO()
snappy.stream_decompress(StringIO("".join(content)),fh)
print fh
except Exception,e:
print str(e)
pass
пожалуйста, помогите я не могу сделайте мой путь после этого
Возможно, ваш журнал не сжимается. Попробуйте открыть его в шестнадцатеричном редакторе и посмотреть, можете ли вы читать ваши простые данные. –
То же, что @RetoAebersold сказал. [Кажется, не найти ожидаемый заголовок Snappy] (https://github.com/andrix/python-snappy/blob/master/snappy.py#L213). – Dan
Пробовал фрагмент кода, и он работал над мгновенными данными с кадрами. Добавляя к тому, что другие отметили, если вы открываете файл в шестнадцатеричном редакторе, должно быть ясно, являются ли это мгновенными обрамленными данными. Подпись (начиная со сдвига файла 0): '\ 377 \ 006 \ 0 \ 0sNaPpY' как из * файла магии nix или' ff06 0000 734e 6150 7059' в шестнадцатеричном формате. Возможно, WiredTiger Storage Engine пишет, используя параметр [другое сжатие] (https://docs.mongodb.com/manual/core/wiredtiger/#compression)? –