У меня есть 6 больших tsv-матриц по 60 ГБ (несжатых), содержащих 20 миллионов строк x 501 столбцов: первый столбец индекса / целого числа, который в основном является номером строки (поэтому даже не обязательно), 500 столбцов являются числовыми (с плавающей запятой, 4 десятичных знака, например1,0301).Все TSV имеют одинаковое количество строк, которые соответствуют друг другу.
Мне нужно извлечь строки по ряду.
Мне нужно извлечь до 5000 смежных строк или до 500 несмежных строк, а не миллионы.Надеюсь, также есть какое-то сжатие, чтобы уменьшить размер 60 ГБ, так что, может быть, нет SQL?Каков был бы лучший способ сделать это?
Один из методов, которые я попробовал, состоит в том, чтобы разделить их на 100-сжатые файлы, проиндексировать их, используя tabix, и затем запросить их, но это слишком медленно для моей потребности (500 случайных строк заняли 90 секунд).
Я читал о пакете ff, но не нашел, как индексировать по первому столбцу?
Есть ли другие способы?
Большое спасибо.