|
В каких объектах сохранить данные в файлах из С++ программы, чтобы быстро читать в Python?
|
|||
---|---|---|---|
#18+
Есть у меня очень большие данные, которые скорее всего прочитать в Python будет невозможно (>100 ГБ текста). Решил сначала уменьшить этот объем в быстром С++ (скомпоновав данные нужным образом), а потом читать их из Python (и делать анализ этих данных). Не хочу использовать СУБД, поскольку она замедляет получение данных, поэтому смотрю в сторону двоичных файлов. В каком виде лучше всего сохранить данные в файлах, если основным критерием является их максимально быстрое чтение из Python (я один раз сформируют эти файлы, а потом тысячу раз буду их читать, вращая так и сяк)? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2020, 09:31 |
|
В каких объектах сохранить данные в файлах из С++ программы, чтобы быстро читать в Python?
|
|||
---|---|---|---|
#18+
SeriyVolk, а посмотрите в сторону Apache Spark, возможно вам Питон даже не будет нужен. Спарк поддерживает АПИ на Scala, Java и Python. Нативный язык - Скала, но по-большому счету, там без разницы на чем писать, т.к Спарк все конвертируе и оптимизирует под свой внутренний движок. Возможная сложность: создание и подключение своего кластерного хранилища данных, но если машина у вас мощная и многоядерная, то вполне возможно, что все и так заработает и с хорошей скоростью. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2020, 17:43 |
|
В каких объектах сохранить данные в файлах из С++ программы, чтобы быстро читать в Python?
|
|||
---|---|---|---|
#18+
SeriyVolk В каком виде лучше всего сохранить данные в файлах, если основным критерием является их максимально быстрое чтение из Python (я один раз сформируют эти файлы, а потом тысячу раз буду их читать, вращая так и сяк)? множество мелких (относительно) файлов, разложенных по директориям, чтобы не более 1000 файлов на диру чем больше текста в одном файле, тем меньше придётся обращаться к диску, чтобы их открывать но при этом надо не потерять гибкость, если там разные файлы по-разному надо компоновать (например они куски одной таблицы, которая может быть собрана по-разному). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2020, 18:48 |
|
В каких объектах сохранить данные в файлах из С++ программы, чтобы быстро читать в Python?
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 SeriyVolk В каком виде лучше всего сохранить данные в файлах, если основным критерием является их максимально быстрое чтение из Python (я один раз сформируют эти файлы, а потом тысячу раз буду их читать, вращая так и сяк)? множество мелких (относительно) файлов, разложенных по директориям, чтобы не более 1000 файлов на диру чем больше текста в одном файле, тем меньше придётся обращаться к диску, чтобы их открывать но при этом надо не потерять гибкость, если там разные файлы по-разному надо компоновать (например они куски одной таблицы, которая может быть собрана по-разному). преимущество Spark в том, что он все разбиение/распределение данных по кластерам сделает за вас и, более того, все данные будут обрабатываться in-memory. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2020, 19:18 |
|
В каких объектах сохранить данные в файлах из С++ программы, чтобы быстро читать в Python?
|
|||
---|---|---|---|
#18+
по каким ещё кластерам? 100гб - это 2% от диска на 5TB а где он возьмёт >100 гб memory? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2020, 19:53 |
|
В каких объектах сохранить данные в файлах из С++ программы, чтобы быстро читать в Python?
|
|||
---|---|---|---|
#18+
Алексей Роза 2020, по машинам, объединенным в кластер, если выражаться правильно и точно :) просто я хочу сказать, что под хотелку ТСа уже существует готовый фреймворк для распределенных вычислений на больших объемах данных и это Апач Спарк. Спарк работает по модели master->workers и распределяет нагрузку по машинам кластера, и 100 Гб здесь не проблема. И вообще думаю, что для обработки 100Гб данных можно обойтись одним мощным десктопом. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2020, 23:36 |
|
В каких объектах сохранить данные в файлах из С++ программы, чтобы быстро читать в Python?
|
|||
---|---|---|---|
#18+
ну а я о чём написал? ты ему предлагаешь кластер купить чтоли, когда там дел на 2% от средненького диска лучше уж в БД положить, откуда чем угодно забирать нужные данные и считать конкретно их, а не все разом (так обычно не бывает) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2020, 02:36 |
|
|
start [/forum/topic.php?fid=23&msg=40005066&tid=1459590]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 152ms |
0 / 0 |