Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Дано:

- Массив уникальных хешей. Количество 500-600к примерно.

- У каждого хеша есть несколько значений, от 1 до 10 штук на каждый.

Необходимо разбить хеши по группам, где хеш будет принадлежать группе, если 4 и более его значение будут общими со значениями группы.

Значения группы = все значения хешей из группы.

Есть такой скрипт на пхп перебором, но слишком долго выполняется. Нужно, чтобы скрипт в разумные сроки это выполнил.

Было несколько попыток написать скрипт на С#, питон и прочее. Все эти варианты сливались из-за того, что скрипт просто очень долго работает и не может закончить выполнение. В целом есть понимание, что это задача для Баз данных. Может быть google bigquery в помощь придет с его мощностями. 

Получается задание в более понятном виде такое: Имеется 600 тысяч наименований товара, но так как названия могут содержать и кирилицу и спец символы и что угодно, названия приведены к удобному хешу. Все эти имена уникальны.

У каждого товара есть свой список характеристик. От 1 до 10 штук. В среднем 8-10 характеристик. Там тоже могут быть и переносы и что угодно, поэтому тоже переведено все в хеши для удобства сравнивания.

Мне нужно сгруппировать эти товары. Если 1 товар имеет 4 и более одинаковых характеристики с другим, то эти товары можно считать в одной группе. Поэтому когда в группе уже 100 товаров, и нужно проверить следующий на очереди товар, то он должен сверить свои характеристики уже со 100 товарами в этой группе и найти совпадение или не найти. Ну и получается, что когда анализ уже на середине базы, уже куча групп сформирована и каждый следующий товар приходится сверять с множеством характеристик. Поэтому нужно что то эффективное.

4 года назад
amster
Максим 
35 летРоссия
17 лет в сервисе
Был
год назад
  • Похожие заказы
  • Техническое задание (для создания небольшой программы): 1. Нажатием кнопки "Пуск" открывается файл Excel. 2. Файл данных Excel содержит первоначальные 2 столбца: а) 1-й столбец - текст б) 2-й столбец - выборка (часть текста) или несколько выборок из "текста" 1-го ...

    Базы данных1 исполнитель
    Завершен
    4 года назад
  • Добрый день ! Есть программа написанная на java , программа собирает данные о результатах спортивных событий с сайта [url=https://www.betexplorer.com/]https://www.betexplorer.com/[/url]и сохраняет их в  несколько баз данных в зависимости от конкретного вида спорта  Далее пользователь задает список фильтров по ...

    Базы данных1 заявка
    Закрыт
    4 года назад
  • Нужно следующее 1. В АМОСРМ приходят лиды с лендинга, но сделки не создаются. Мне нужно создавать сделку в неразобранные. И чтобы создавалось примечание в сделке - с информацией от клиента. Скриншоты во вложении. Цена данной работы ...

    Базы данныхнет заявок
    Закрыт
    4 года назад
  • Добрый день!Необходимо преобразовать данные в формате cscript, которые программа не смогла распознать или преобразовать самостоятельно, в формат данных base58, Base64 и Hexadecimal. Так же необходимо описать способ (метод) преобразования. Вариант с использованием кодировщиков не подходит, поскольку ...

    Базы данныхнет заявок
    Закрыт
    4 года назад
  • Необходимо откорректировать базу данных MySQL. А именно: Есть база данных магазина сделанного на joomshopping в ней есть заказы с характеристиками, необходимо клонировать заказы чтобы их было к примеру не 100 штук а 1000 штук. Указывайте ...

    Базы данных4 заявки
    Закрыт
    4 года назад
  • написать код на Ruby 1) Нужно загрузить в локальную базу mongo два вида экселевских файлов по 10 штук в каждом виде. Файлы имеют жесткую структуру, публикуются на внешнем сайте, содержат менее 1000 значений в каждом. 2) Предусмотреть ...

    Базы данных1 заявка
    Закрыт
    4 года назад
  • Необходимо обзвонить базу номеров по скрипту. База на 100 000 номеров, будет распределена между пятью менеджерами. В откликах пишите свою КОРРЕКТНУЮ почту!

    Базы данных9 заявок
    Закрыт
    4 года назад