обработка БОЛЬШОГО набора данных - PullRequest
0 голосов
/ 23 февраля 2011

Каково лучшее решение для обработки БОЛЬШИХ наборов данных.
У меня есть текстовые файлы, разбитые на несколько файлов.который, если я добавлю, будет около 100 ГБ, файлы будут не более чем просто

uniqID1 uniqID2 и т. д.

id пары, и если я хочу вычислить такие вещи, как 1: уникальное количество uniqIDs и т. д. 2: список других идентификаторов, с которыми связан uniqID1?

какое лучшее решение?как мне обновить их в базу данных?

спасибо!

1 Ответ

1 голос
/ 23 февраля 2011

Таким образом, если у вас была таблица со следующими столбцами:

           id1 varchar(10)   // how long are you ids? are they numeric? text?
           id2 varchar(10)

с пятью миллиардами строк в таблице, и вы хотели быстро получить ответы на такие вопросы, как:

        how many unique values in column id1 are there?
        what is the set of distinct values from id1 where id2 = {some parameter}

реляционная база данных (которая поддерживает SQL) и таблица с индексом на id1 и другим индексом на id2 будут делать то, что вам нужно.SQLite сделает эту работу.

РЕДАКТИРОВАТЬ: чтобы импортировать их, было бы лучше разделить два значения с некоторым символом, который никогда не встречается в значениях, например запятая или символ канала или табуляция, одна пара на строку:

         foo|bar
         moo|mar

EDIT2: вам не нужен реляционный, но это ничего не повредит, и ваша структура данных будет более расширяемой, если БД реляционный.

...