Ищем быстрые способы обработки 2 миллиардов строк данныхPython

Программы на Python
Anonymous
Ищем быстрые способы обработки 2 миллиардов строк данных

Сообщение Anonymous »

У меня есть более 1 миллиарда строк «пар» чисел, каждая из которых содержит 10 пар.
У меня есть еще один набор «пар», например «ребра».Мне нужно пройти по краям. Для каждого ребра мне нужно проверить, появляется ли ребро в одной из строк. Затем мне нужно обновить эту строку, заменив пару некоторыми символами, если край находится в строке.
Есть ли быстрые способы сделать это? Я согласен, если самое эффективное программное обеспечение стоит денег. Кроме того, программное обеспечение должно быть достаточно сложным, чтобы я мог писать код/обновлять строки, как указано выше.
Как вы думаете, сколько примерно времени займет этот процесс? От каких факторов это будет зависеть?
Спасибо за любую помощь!
Я пробовал использовать стандартный модуль Python следующим образом:

Код: Выделить всё

    for edge in edges:

pair = (min(edge), max(edge))
str_pair = f'({str(pair[0])}, {str(pair[1])})'

print(str_pair)

with open(buffer_path, 'r+', buffering=1024*1024) as file:
while True:
line_start = file.tell()
line = file.readline()
if not line:
break
else:
if str_pair in set(line.split(".")):
new_line = line.replace(str_pair, len(str_pair) * '_')
file.seek(line_start)
file.write(new_line)
else:
file.seek(line_start)
file.write(line)
Но это слишком медленно


Подробнее здесь: https://stackoverflow.com/questions/790 ... ws-of-data

Вернуться в «Python»