|
|
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
Знаю, что тема поднималась, но всё ж спрошу. Есть адресный классификатор ФИАС в xml-формате. Файл с информацией о домах весит 20 гигов. Писец. Чем его реально парсить с приемлемой скоростью? Попробовал NativeXML. Всё грустно. Или уже не париться и взять dbf-версию ФИАС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 08:17:44 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
ExterisЗнаю, что тема поднималась, но всё ж спрошу. Есть адресный классификатор ФИАС в xml-формате. Файл с информацией о домах весит 20 гигов. Писец. Чем его реально парсить с приемлемой скоростью? Попробовал NativeXML. Всё грустно. Или уже не париться и взять dbf-версию ФИАС? Любым SAX-парсером, по идее, DOM не годится для таких объёмов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 08:45:14 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
+1. Он же очень регулярный. Тут проще всего TStreamReader использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 09:01:32 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
В ветке mssql есть целая ветка посвященная этой теме, я как раз ФИАС в mssql грузил через xmlbulkload. За пару часов фиас полностью обновляется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 09:20:48 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
есть стандартный SAX парсер XmlLite, во всех Windows А еще лучше взять dbf версию, в ней хоть ошибок меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 09:22:15 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
СюзаннаА еще лучше взять dbf версию, в ней хоть ошибок меньше ЕМНИП, на офсайте налоговой заявлено, что в скором времени от дбф должны отойти. Так что, это отсрочка решения проблемы. А вот SAX for Pascal кто-нибудь юзал? Увы, его прекратили развивать в 2003г, последняя заявленная поддержка для Д7. Зато внутри архива демки и дока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 09:27:58 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
Exteris, DBF распарсится быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 09:36:01 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
Прикладываю счемы для импорта, адаптируете под себя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 09:36:35 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 09:37:08 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
Сразу предупреждаю что никаких заливок сразу в рабочие таблицы, сначала в промежуточные, а уже из них переносишь в рабочие. меня минут 20 переносилось кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 09:38:56 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
А, да, в этом году мы отказались от использования своего ФИАС, используем сервис https://dadata.ru/ Работает хорошо, и больше никакой головной боли об адресах и обновлении фиас у себя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 09:53:24 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUExteris, DBF распарсится быстрее Я вот тоже так думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 10:03:06 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
СюзаннаА еще лучше взять dbf версию, в ней хоть ошибок меньше Они разве не идентичны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 10:11:07 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
Сюзаннаесть стандартный SAX парсер XmlLite, во всех Windows XmlLite - не SAX-парсер, а pull-парсер. Он тоже "лёгкий", но у него совсем противоположная логика работы. SAX-парсер входит в состав MSXML6, наряду с DOM-парсером Оба MSXML6 и XMLLite появились то ль в XP SP3 то ли даже в XP SP2 Есть так же сторонняя реализация XMlLite под Линукс, но насколько быстрая и надежная - хз, в глаза ее не видел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 13:21:30 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
ДокЕМНИП, на офсайте налоговой заявлено, что в скором времени от дбф должны отойти. Так что, это отсрочка решения проблемы. А где вы такое прочитали?, я что то не нашел. Отказ от KLADR v4 - да, а что ФИАСа не будет в DBF? не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 14:03:27 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
В относительно новой библиотеке от гуру xml -- oxml -- есть куча различных парсеров/интерфейсов к ним, в т.ч. и поточные (SAX). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 17:45:52 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
Распарсивал как-то xml от ФИАС, там были иногда неверные длины полей, плюнул, скачал dbf версию И быстрее и проще извлекать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 20:21:19 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
А какой профит от пул-парсеров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 21:00:27 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
BaliОтказ от KLADR v4 - да, а что ФИАСа не будет в DBF? не нашел сорьки, это я что-то недопонял, когда бегло читал. Действительно, ДБФки останутся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 01:40:50 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
А теперь расскажите сколько у Вас эти dbf-ки в БД заливаются, особенно если не через bc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 12:44:40 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
Внезапно dbf это БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 13:46:47 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
eeeу, Так они всёравно не индексированные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 14:41:54 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, а xml индексирован, угу. Файл 20 гигов, а dbf для 1 области примерно 0,2 гига, т.е. в 100 раз меньше и что проще индексировать? xml не для хранения информации предназначен, по любому нужно распарсивать и хранить в БД. а dbf уже в формате БД, не нравится формат легко конвертируется в другой. И сравните размеры файлов xml и dbf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 16:49:01 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
эндиА теперь расскажите сколько у Вас эти dbf-ки в БД заливаются, особенно если не через bc А зачем их целиком закачивать? Там по каждому объекту вся история изменений, с момента попадания объекта в ФИАС, а реально нужны только актуальные данные. Да и в структуре записи полно ненужной информации одних GUIDов 5 штук. В MSSql Express ее и не запихнешь. Закачивают кому что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 17:01:37 |
|
||
|
Парсер больших xml-файлов
|
|||
|---|---|---|---|
|
#18+
Вот на моменте легко конвертируется, остановимся поподробнее. Представим себе абстрактного программера которому надо написать конвертилку в MSSQL. Он садится и пишет построчное копирование через insert в таблицы sql сервера. Сколько часов у него будет происходить это порно? Сам dbf для хранения тоже не ахти как удобен, хранимку не написать, план запроса с оптимизацией не посмотреть и только на секундочку представим что ФИАС посути древовидная бд. И то что я сделаю обычным запросом в любом адекватном sql сервере, на базе dbf превратится в банальное извращение. imho что фиас в dbf, что в xml сделан исключительно для трансфера информации и никак не для использования именно в этих форматах. Да и какой больной человек будет таскать с собой для локальной аппликухи базу весом в несколько сотен мегабайт для решения задачи хранения адреса? Если у вас локальное приложение дергайте веб-сервис, хотите свой, хотите чужой, не суть. Суть в том что за этим вебсервисом будет не dbf, а нормальный sql сервер. А если у вас клиент/сервер то тем более весь этот фиас будет в нем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 17:09:31 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=136&tid=2041989]: |
0ms |
get settings: |
4ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
65ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 188ms |
| total: | 333ms |

| 0 / 0 |
