powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как сохранять строки в бинарных файлах?
6 сообщений из 31, страница 2 из 2
Как сохранять строки в бинарных файлах?
    #39581763
Amiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как сохранять строки в бинарных файлах?
    #39581772
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLДа и дело не столько в считывании данных, сколько в их преобразовании в int, long, bool...

А в чём проблема-то? Считал строку, преобразовал, обработал, выкинул. И память не
забивается и быстродействие высокое.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сохранять строки в бинарных файлах?
    #39581781
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLЕсть набор больших текстовых файлов, которые для ускорения работы я конвертирую в удобный формат: парсю отдельные строки, укладываю преобразованные значения в поля в структуры, структуры укладываю в массив, а массив записываю в
базу данных.....
...
Рейтинг: 0 / 0
Как сохранять строки в бинарных файлах?
    #39581786
AlekseySQLСоискатель С++Я бы все хранил в SQLite. Очень просто и очень удобно. Из минусов, по сравнению с самописным форматом, только скорость линейного чтения, но это уже от задачи зависит.

Вот это меня в SQL и напрягает: можно выбирать либо построчно, либо все гаком. А мне надо кусками по 10 000 записей, чтобы оперативка не забилась от всей выборки данных. Конечно, есть и свои плюсики: быстрые отборы, сортировка, но это не моя задача.

Не понял, что вас напрягает. Выбирайте по 10 000 записей. Можно даже проиндексировать эти группы.
...
Рейтинг: 0 / 0
Как сохранять строки в бинарных файлах?
    #39581815
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amiri
Код: plaintext
1.
2.
3.
   fwrite(&sizegon_nac, sizeof(int), 1, pFile);
...
   fread(&sizenac, sizeof(int), 1, pFile);

С учетом того, что автор собирается один раз сгенерить файл, а потом только читать его (может быть даже на разных платформах), насколько красиво завязываться на изменчивую длину int-а в таком случае?
...
Рейтинг: 0 / 0
Как сохранять строки в бинарных файлах?
    #39582134
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я взял несколько постов Алексея и просто объединил их в один. И вот какая картина у меня в голове получается.

Есть набор больших текстовых файлов, которые для ускорения работы я конвертирую в удобный формат: парсю отдельные строки, укладываю преобразованные значения в поля в структуры, структуры укладываю в массив, а массив записываю в бинарный файл :)

Как быть с текстовыми полями:
1. Если в структуре объявить поле типа char [250], то это будет очень расточительно (не всем значениям нужна такая длина).
2. Если в структуре объявить поле std::string, то структура перестанет быть POD- объектом и работать с ней как с последовательностью битов уже будет нельзя. Как следствие отваливается возможность сохранения данных в файл.

Есть какие-то симпатичное решения сохранения текстовых данных в бинарных файлах?

1. Сначала 1 раз записать, потом все оставшиеся разы только читать.
2. ~60ГБ csv- файлов.

Судя по постановке - это типичная bigdata. У нас есть неструктурированные данные. Один
раз сгенерированы и мы их только читаем. Как с ними быть? Всё идет не от структур данных
типа char[250] или string. Все это шелуха и на больших данных не имеет значения. А от того
какие отчоты надо с этого получить. Далее - по технологиям,
Spark (Python/Java/Scala), Hadoop (C++/Java/Python) и различные коробочные бизнес-продукты для анализа
данных (Витрины данных/DataMart/OLAP). В последнем - я не глубокий специалист. Пускай коллеги накидают
ссылок если знают. Но убежден что таких продуктов - масса. И они замечательно справляются
с такими задачами.

Из витрин данных я использовал Qliki, но не уверен что qliki проглотит 60Гб. Надо почитать про
limitations.

Возможно автор просто подменяет "нужное" интересным и хочет порабоать с C++ и данными - ну дык это его
личное пожелание. Мы естественно помешать не сможем. Дай бох.
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как сохранять строки в бинарных файлах?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]