Форум: "Прочее";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
ВнизБольшой csv Найти похожие ветки
← →
Dennis I. Komarov © (2014-12-16 17:13) [0]Всем привет!
Есть большой (1Gb) файл csv порядка 89 млн записей.
(Недействительные паспорта РФ с сайта ФМС)
Как данные запихать в какую-нить БД?
Встроенный импорт на MS SQL отваливает на 5млн+ записи
Access файл распух на 2Gb, но данные импортировать на смог
← →
Дмитрий С © (2014-12-16 17:28) [1]Может сделать конвертор CSV -> SQL и выполнить?
← →
кгшзх © (2014-12-16 17:31) [2]и это капец.
для обработки каждого гига нужно уже не менее доктора технических.
порезай файл, "программист".
← →
Dennis I. Komarov © (2014-12-16 17:33) [3]Не самый красивый вариант резать файл...
← →
DVM © (2014-12-16 17:37) [4]в чем проблема читать порциями, парсить и вставлять в базу?
← →
Dennis I. Komarov © (2014-12-16 17:40) [5]Дим, да не проблема... Вопрос в оптимальности процесса. Встроенные средства вот пошли лесом...
← →
brother © (2014-12-16 17:42) [6][4] самое оно...
← →
brother © (2014-12-16 17:43) [7]там и с кодировкой проблемм быть не должно...
← →
VICTOR_ © (2014-12-16 17:58) [8]BULK INSERT - не работает?
Bulk-Logged Recovery model - пробовал устанавливать?
← →
Dennis I. Komarov © (2014-12-16 18:05) [9]Нет, о таком не слышал еще...
← →
Rouse_ © (2014-12-16 18:07) [10]
> Dennis I. Komarov © (16.12.14 17:40) [5]
> Дим, да не проблема... Вопрос в оптимальности процесса.
> Встроенные средства вот пошли лесом...
Это разовая операция как я понял? Тогда зачем нужна оптимальность и красота подхода? Разбей файл один раз на куски и вбей в базу, делов-то :)
← →
VICTOR_ © (2014-12-16 18:09) [11]Почитай и попробуй для MS SQL Server. В бесплатной версии Express - база до 10ГБ
← →
Dennis I. Komarov © (2014-12-16 18:11) [12]Файлы с разделителями-запятыми (CSV) не поддерживаются в операциях массового импорта SQL Server. Однако в некоторых случаях CSV-файл можно использовать в качестве файла данных для массового импорта данных в SQL Server. Обратите внимание, что признаком конца поля CSV-файла не обязательно должна быть запятая. CSV-файл, который можно использовать в качестве файла данных для массового импорта, должен соответствовать следующим условиям.
◦ Поля данных не должны содержать признак конца поля.
◦ Или никакие, или все значения в полях данных должны заключаться в кавычки ("").
← →
кгшзх © (2014-12-16 18:12) [13]Не самый красивый вариант резать файл...
это задача (не резка файла, а исходная) не стоит и выеденного яйца. по крайней мере чтобы вылезать с ней на форум.
но нет. мы же интереснейшую задачу столетия решаем. илигантно.
← →
Dennis I. Komarov © (2014-12-16 18:15) [14]
> Это разовая операция как я понял? Тогда зачем нужна оптимальность
> и красота подхода? Разбей файл один раз на куски и вбей
> в базу, делов-то :)
Саш, почему разовая? база должна обновляться, но ФМС не делают куски. У них файл целиком валяется... Хоть dbf-ку бы держали.
Может есть варианты?)))
← →
Dennis I. Komarov © (2014-12-16 18:16) [15]Удалено модератором
← →
VICTOR_ © (2014-12-16 18:16) [16]Почитай http://technet.microsoft.com/ru-ru/library/ms187042%28v=sql.105%29.aspx
← →
Dennis I. Komarov © (2014-12-16 18:20) [17]
> VICTOR_ © (16.12.14 18:16) [16]
Читаю, спасибо!
← →
Rouse_ © (2014-12-16 19:02) [18]
> Dennis I. Komarov © (16.12.14 18:15) [14]
> Может есть варианты?)))
Ну тогда я бы ручками маааахонькую программку написал, которая парсит файлик и транзакционно по пару десятков тыщ кидает парсенные данные куда надо. Работы на 10 минут с перекуром.
← →
megavoid © (2014-12-16 19:06) [19]В MySQL так:
LOAD DATA LOCAL INFILE "D:\\***\export.csv" INTO TABLE `dbname`.`dbtable` FIELDS TERMINATED BY ";" ENCLOSED BY """ ESCAPED BY """ LINES TERMINATED BY "\r\n" (`PropertyNumber`, `PropertyName`, `zzz`, `DeepLink`);
← →
Dennis I. Komarov © (2014-12-16 19:17) [20]
Rouse_ © (16.12.14 19:02) [18]
> Ну тогда я бы ручками маааахонькую программку написал, которая
> парсит файлик и транзакционно по пару десятков тыщ кидает
> парсенные данные куда надо. Работы на 10 минут с перекуром.
>
Ну да, сервер освободится - так и сделаю скорее всего. Но вариант с BPC очень интересен и универсален (Правда сервер обновлять надо будет).
← →
Dennis I. Komarov © (2014-12-16 19:18) [21]
> megavoid © (16.12.14 19:06) [19]
> В MySQL так:
А мульенов сто рекордов скушает?)
← →
Rouse_ © (2014-12-16 19:38) [22]
> Dennis I. Komarov © (16.12.14 19:17) [20]
> Ну да, сервер освободится - так и сделаю скорее всего. Но
> вариант с BPC очень интересен и универсален
Заметь - ты больше тратишь времени на поиск решения, чем не его реализацию "в лоб" ;)
Был бы я твоим "ночальнегом" - поругал бы, как минимум ;)
← →
Dennis I. Komarov © (2014-12-16 19:42) [23]
> Rouse_ © (16.12.14 19:38) [22]
я не могу в данный момент заниматься реализацией, только ночью)))
поэтому сейчас поиск наилучшего решения
З.Ы. Ну сейчас еще могу конечно на access потестить, но лучше пойду ужинать)
← →
Rouse_ © (2014-12-16 19:44) [24]Приятного апетита :)
Даже чем-то завидую, я вечерами наоборот по ухи в коде сижу :)
← →
megavoid © (2014-12-16 19:55) [25]А мульенов сто рекордов скушает?)
Грузится файл 20 Гб раз в неделю, 4.7 млрд записей, база исам, в инно дольше процессит
← →
megavoid © (2014-12-16 19:59) [26]Наврал, глянул в базу, 4.1 ярд
20 гб csv разъедаются в 78 в файле базы
← →
Кщд © (2014-12-16 21:13) [27]>megavoid © (16.12.14 19:59) [26]
причём здесь MySQL?
← →
megavoid © (2014-12-16 21:21) [28]причём здесь MySQL?
Вероятно, google: "mssql load data infile"?
← →
Jeer © (2014-12-16 22:09) [29]Недавно 2 млн записей из тучи файлов Excel перевел в MS SQL 2008 след образом (разовая операция):
- js-script конвертирования в "старый" формат Excel;
- delphi-консоль решения задачи ETL в промежуточную базу;
- delphi-gui для импорта в MSSQL.
← →
Dennis I. Komarov © (2014-12-17 23:20) [30]Больше потратил времени на вылавливание глюков в самом csv
Теперь думаю, поиск по файлу ~ 10 сек., а нужен ли геморрой с БД???
← →
картман © (2014-12-18 03:16) [31]Удалено модератором
Примечание: Нарушение правил форума
← →
Jeer © (2014-12-18 08:36) [32]Удалено модератором
Примечание: Нарушение правил форума
← →
картман © (2014-12-18 13:53) [33]Удалено модератором
← →
Кщд © (2014-12-18 15:10) [34]>megavoid © (16.12.14 21:21) [28]
у автора MS SQL
ещё раз: причём здесь MySQL?
← →
KSergey © (2014-12-21 16:43) [35]> Dennis I. Komarov © (17.12.14 23:20) [30]
> Больше потратил времени на вылавливание глюков в самом csv
Это, кстати, к вопросу о поиске "стандартных средств".
Сказки всё это "стандартные средства". Тупые маркетинговые сказки.
В любом спаривании уже с ежом - только интеллектуальная смазка помогает. Так что только собственноручно написанная программа, учитывающая как особенности ежа с одной стороны, так и ужа - с другой.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.047 c