Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Чем сделать экспорт большой таблицы? / 9 сообщений из 9, страница 1 из 1
09.12.2016, 20:51
    #39363851
Marcello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем сделать экспорт большой таблицы?
Приветствую!

Есть большая таблица, более 37 млн.строк. Судя по Database Statistics, эта таблица занимает 5.5 Гб, или 44% всего размера БД. Эту таблицу нужно экспортировать в формат CSV. Пробовал запускать экспорт в IBExpert с вкладки Data (без Fetch All конечно), экспорт доходит до 340 тыс.строк примерно и останавливается. Пробовал с помощью ibeblock, как написано тут - тоже некоторое время спустя Out of memory. Есть ли какой-то способ сделать экспорт в CSV или лучше написать свою утилитку с прямым сбросом строк в файл?
...
Рейтинг: 0 / 0
09.12.2016, 20:52
    #39363852
Marcello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем сделать экспорт большой таблицы?
Забыл уточнить: FB 2.5.
...
Рейтинг: 0 / 0
09.12.2016, 21:25
    #39363860
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем сделать экспорт большой таблицы?
можно применить isql и перенаправить выхлоп в файл.
...
Рейтинг: 0 / 0
09.12.2016, 22:00
    #39363870
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем сделать экспорт большой таблицы?
FBExport.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.12.2016, 01:14
    #39363936
Товарищ младший сержант
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем сделать экспорт большой таблицы?
MarcelloПриветствую!

Есть большая таблица, более 37 млн.строк. Судя по Database Statistics, эта таблица занимает 5.5 Гб, или 44% всего размера БД. Эту таблицу нужно экспортировать в формат CSV. Пробовал запускать экспорт в IBExpert с вкладки Data (без Fetch All конечно), экспорт доходит до 340 тыс.строк примерно и останавливается. Пробовал с помощью ibeblock, как написано тут - тоже некоторое время спустя Out of memory. Есть ли какой-то способ сделать экспорт в CSV или лучше написать свою утилитку с прямым сбросом строк в файл?
Точно-точно csv нужен?
Может, в формате записей фиксированного размера пойдет? Тогда можно создать внешнюю табличку такой же структуры и выбросить
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
Create table ExtTable external file 'c:\Ext'
(
    ID       INTEGER,
    NAME     VARCHAR(250),
...
);
Commit;
insert into ExtTable select * from MyTable;
...
Рейтинг: 0 / 0
10.12.2016, 10:02
    #39363989
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем сделать экспорт большой таблицы?
Надо правильные способы использовать:
http://www.ibexpert.net/ibe/index.php?n=Doc.ScriptExecutive#Output
http://www.ibexpert.net/ibe/index.php?n=Doc.EXPORTASINTO

SELECT ... AS DATASET создает двунаправленный набор данных в памяти клиента. Соответственно, все засасывается и живет там до закрытия датасета.
...
Рейтинг: 0 / 0
10.12.2016, 14:02
    #39364063
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем сделать экспорт большой таблицы?
...
Рейтинг: 0 / 0
12.12.2016, 09:36
    #39364673
Marcello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем сделать экспорт большой таблицы?
Спасибо всем за советы.
FBExport не подошел, т.к. вместо ,NULL, он возвращает пустоту ,, .
Попробую этот способ , т.к. требуется еще и некоторое форматирование данных для последующего использования, к примеру, дату нужно в виде '%Y-%m-%d' и т.д.
Буду пробовать.
...
Рейтинг: 0 / 0
12.12.2016, 09:54
    #39364681
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем сделать экспорт большой таблицы?
Marcello,

гм, да любые средства экспорта вместо NULL в строку пишут "пустоту". Это только если ты сам возьмешь что-нибудь типа
TIBOutputDelimitedFile и для null будешь использовать волшебное слово (пусть даже и само null), как при экспорте, так и при импорте.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Чем сделать экспорт большой таблицы? / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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