Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Приветствую Подскажите решение следующей задачи Есть текстовые данные - порядка 2 тб в виде набора файлов ( файлы от 200 мб до 150 гб ) Задача проверить все файлы и удалить дубликаты ( а так же скомпоновать данные ) Правильным ли решением будет использовать для этого СУБД ? т.e 1 - читаем файл с данными построчно 2 - вносим данные в БД 3 - перед внесением данных проверяем есть ли уже такая запись в БД Отсюда вопросы - как лучше проверять уникальность ? SELECT ? LIKE ? хранимой процедурой ? триггером на INSERT ? - Какую БД лучше всего использовать ? Есть опыт работы с MySQL, MSSQL, SQLite, Firebird - Есть ли готовые решения для поиска дубликатов в таких обьемах данных ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2017, 23:25 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
> и удалить дубликаты Дубликаты данных которые находятся в файлах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2017, 23:26 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Андрей Александрович., успех этого мероприятия зависит от ваших ресурсов. Самый прямой и надежный вариант - загрузить используя всякие базёвые утилиты *loader-s ваши данные в одну табличку. И delete-ом почистить дубликаты. В запросе использовать аналитические функции (PARTITION BY). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2017, 23:44 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Андрей Александрович.2 тб в виде набора файлов ( файлы от 200 мб до 150 гб Это реально много. Андрей Александрович.Правильным ли решением будет использовать для этого СУБД ? Скорее нет чем да. И скорее всего все другие вопросы не релевантны. Андрей Александрович.- Есть ли готовые решения для поиска дубликатов в таких обьемах данных ? Возможно есть в биоинформатике. Но ваша задача, если я правильно предпологаю, не поиск одного дупликата и не поиск всех дупликатов. Для создания списков уникальных значений потребуется на скромный взгляд ещё 2 - 3 ТБ. И считатся это будет наверно дни. на вскидку и без базы данных. Такая работа стоит времени специалиста и за пределами бесплатных консультаций. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 01:26 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
mikron, хэширование спасет мир ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 01:33 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
1. Речь идет о текстовой неструктурированной информации, или о реляционных данных, хранящихся в текстовом виде? во втором случае каково количество полей данных? 2. Чем вызван такой способ хранения данных? 2. Чем отличаются отдельные файлы. (Это последовательно обрезанный поток данных, или это данные с разных источников?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 05:51 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
>Андрей Александрович., вчера, 23:25 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1269329&msg=20736437] [20736437] >...Правильным ли решением будет использовать для этого СУБД ? ... Рассмотрите такой вариант: 1. Все текстовые файлы находятся в папке файлового сервера - смысловая часть. 2. Поисковая часть (суррогатный_ключ, пользовательское_имя_файла, группа, когда_создан и т.п) находится в записях таблицы(ц) базы данных. 3. Файлы смысловой части имеют имена производные от суррогатного ключа. С уважением, Владимир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 08:30 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
9821831. Речь идет о текстовой неструктурированной информации, или о реляционных данных, хранящихся в текстовом виде? во втором случае каково количество полей данных? Файлы представляют собой хранилища слов всех языков мира те списки слов на разных языках 9821832. Чем вызван такой способ хранения данных? Дали файлы - сказали решить вопрос с дубликатами и хранением 9821832. Чем отличаются отдельные файлы. (Это последовательно обрезанный поток данных, или это данные с разных источников?) Это файлы с разных источников ( часто даже с различным способом хранения данных - те нужно будет к каждому файлу писать парсер или свою проверку корректности данных. Учитывая что там еще слова на разных языках то переводить все в UNICODE ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 08:55 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
mikronВозможно есть в биоинформатике. Но ваша задача, если я правильно предпологаю, не поиск одного дупликата и не поиск всех дупликатов. Задача - очистка данных от повторяющихся слов А так же упорядочивание данных при возможности mikronДля создания списков уникальных значений потребуется на скромный взгляд ещё 2 - 3 ТБ. И считатся это будет наверно дни. на вскидку и без базы данных. Такая работа стоит времени специалиста и за пределами бесплатных консультаций. ИМХО. Есть свободные 3 тб те куда делать временные таблицы есть По времени если пересчет займет 3-9 дней - не проблема. Вопрос именно в том как наиболее быстро сделать чтобы поиск добавление в БД не заняло например месяц или больше Я так подозреваю что после решение этой задачи станет обработка данных А лучше всего это делать если данные будут упорядоченны например в БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 08:58 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Андрей Александрович.Файлы представляют собой хранилища слов всех языков мира те списки слов на разных языках Т.е. намечается два поля - "Язык" (который берем из файла) и "Cлово" 982183Дали файлы - сказали решить вопрос с дубликатами и хранением Наверно с хранением и дубликатами. 982183Это файлы с разных источников ( часто даже с различным способом хранения данных - те нужно будет к каждому файлу писать парсер или свою проверку корректности данных. Учитывая что там еще слова на разных языках то переводить все в UNICODE ) Так эта задача однако на порядок сложнее, чем организовать хранение и чистку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 09:06 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Почему на этом гр*** форуме нельзя редактировать посты.... Обычную описку исправить нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 09:07 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Из коробочных решенийй. Можно посмотреть на unix-утилиты такие как: 1) sort -u 2) unique и посмотреть их настройки в части использования $tmp как пространства для сортировок. Если эти коробочные штуки "не взлетят" то можно попробовать грузить в БД. Но грузить надо грамотно. Учитывая объем - желательно использовать утилиты для bulk/batch загрузки. Но дальше об этом говорить безсмысленно. Автор должен сообщить нам какая именно dbms у него выбрана и дальше уже можно что-то советовать более конкретно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 09:08 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
А что делать с омонимами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 09:10 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
maytonИз коробочных решенийй. Можно посмотреть на unix-утилиты такие как: 1) sort -u 2) unique и посмотреть их настройки в части использования $tmp как пространства для сортировок. Спасибо Изучу maytonЕсли эти коробочные штуки "не взлетят" то можно попробовать грузить в БД. Но грузить надо грамотно. Учитывая объем - желательно использовать утилиты для bulk/batch загрузки. Но дальше об этом говорить безсмысленно. Автор должен сообщить нам какая именно dbms у него выбрана и дальше уже можно что-то советовать более конкретно. Вот это был один из вопросов Есть опыт работы с СУБД MySQL, MSSQL, SQLite, Firebird Какую посоветуете для хранения больших данных ? ( к сожалению с Oracle не работал ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 09:13 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Андрей Александрович.Вот это был один из вопросов Есть опыт работы с СУБД MySQL, MSSQL, SQLite, Firebird Какую посоветуете для хранения больших данных ? ( к сожалению с Oracle не работал ) По этим СУБД я не специалист. Я больше по Oracle. Немного работал с MSSQL. И конечно исходя из авторитета самого вендора я порекомендую MSSQL. Кроме того есть мысль что аналитические (оконные) функции там поддерживаются. По поводу SQLite - есть сомнения. Она очень производительная но работает в условиях когда data segment помещается в оперативку. Если вам удастся ваш самый крупный справочник прогрузить в SQLite - тогда все будет ОК. Но и с PARTITION BY надо тоже проверить. По поводу остальных. Велкам в Сравнение. Задавайте вопросы там. Думаю что помогут. http://www.sql.ru/forum/db-comparison ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 09:24 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
По-моему можно вызять любую СУБД и организовать в ней таблицу с одним полем и уникальным индексом по нему. Далее последовательно читать все файлы и каждое слово пытаться записать в эту таблицу. Если не удалось, то значит дубль, если удалось, то записывать слово в выходной файл. (Насколько я понял задачу). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 10:40 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Т.Е отсечь дублирование на этапе импорта данных.... мысль хорошая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 11:08 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
А я понял задачу так: например есть у нас три файла разного формата, в каждом из которых подмножество слов французского языка. Нужно данные каждого файла распарсить, нормализовать и залить в БД. ИМХО - это простой импорт из различных источников. Заливаем данные файла в промежуточную таблицу в схеме import, перегоняем в основную только те слова, которых там ещё нет (WHERE NOT EXISTS). В основной таблице должен быть соответсвующий индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 11:08 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
ИМХО большая часть времени уйдёт на написание партеров-загрузчиков из различных форматов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 11:11 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Чисто в качестве brainstorm ... можно попробовать зарегаться в Amazon AWS. И там будут доступны всякие API и хранилища для толстых данных. Попробовать прогрузить туда табличку в 150Гиг и там отфильтровать. Возможно но этом шаге Amazon попросит оплатить услугу а может и нет. Вобщем я-б попробовал. Или взять табличку в два раза меньше и еще раз попробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 11:11 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Андрей Александрович., а вообще как эти данные потом будут использоваться? А то можно и в MongoDB их засунуть с шардированием из коробки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 11:12 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Все слова одного языка вполне можно обработать в оперативной памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 11:12 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, на чем будешь писать? Delphi? C#? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 11:49 |
|
||
|
Работа с большими данными
|
|||
|---|---|---|---|
|
#18+
skyANAАндрей Александрович., а вообще как эти данные потом будут использоваться? А то можно и в MongoDB их засунуть с шардированием из коробки. По данным планируется поиск и выборка по 200 - 300 тыс записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 11:52 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39507988&tid=1340295]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
233ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 316ms |
| total: | 645ms |

| 0 / 0 |
