powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
25 сообщений из 471, страница 4 из 19
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041190
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
mayton
Альтернативный сценрий в данном топике мне представляется просто невозможным.

Скинуть готовый код, в который он просто введёт данные и выполнит. Иначе этот тупак будет тянутся еще месяц.

Чорт! Брателло! Конечно скидывай. Я только рад буду.

Только мы с тобой заключим джентльменское пари на тему того, за сколько времени ТС разберется с
развертыванием этого стека целиком.

Я вангую что Perl/MySQL - быстрее.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041199
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov
H5N1,

не похоже даже близко, там 10-ки 3 раза как я помню
5-7-8-15-22-23-27-34-37-39-40
а девяток из этих 10 чисел будет гораздо больше

я не вижу. первая и последняя строка одинаковы, под комбинацию 5-7-8-15-22-23-27-34-37-39-40 попадают. третей не вижу. назовите номер строки.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041204
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

выше последняя вводная простыня от ТС упс в предыдущем грозбухе
я так вижу 1-е 21-е и 22-е число даты
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041210
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1я не вижу. первая и последняя строка одинаковы я лишь показал подачу ТС, вопросы к автору
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041215
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov

выше последняя вводная простыня от ТС упс в предыдущем грозбухе
я так вижу 1-е 21-е и 22-е число даты

это здорово, но а я не вижу связи ваших наблюдений с теми данными на которых считал я.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041219
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

я не показывал своих наблюдений. И связей не искал)
я лишь показал результат который уже известен на известных данных
Этот топик исходит из того, "миллиардного". который уже как вечность в этом подфоруме MySQL)
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041220
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov

выше последняя вводная простыня от ТС упс в предыдущем грозбухе
я так вижу 1-е 21-е и 22-е число даты

закинул эти данные, если 10 комбинаций то ответ

[5, 7, 15, 22, 23, 27, 34, 37, 39, 40] 3
[5, 7, 8, 15, 22, 23, 27, 34, 37, 39] 3
[5, 7, 8, 15, 22, 23, 27, 34, 37, 40] 3
[5, 7, 8, 15, 22, 23, 27, 34, 39, 40] 3
[5, 7, 8, 15, 23, 27, 34, 37, 39, 40] 3
[5, 7, 8, 22, 23, 27, 34, 37, 39, 40] 3
[5, 7, 8, 15, 22, 23, 27, 37, 39, 40] 3
[5, 7, 8, 15, 22, 23, 34, 37, 39, 40] 3
[5, 7, 8, 15, 22, 27, 34, 37, 39, 40] 3
[5, 8, 15, 22, 23, 27, 34, 37, 39, 40] 3
[7, 8, 15, 22, 23, 27, 34, 37, 39, 40] 3

теперь близко ?
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041232
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

да это к автору,
со времен прошлого топика остались алгоритмы, я просто примерно посмотрел что должно быть ~110 штук 3-х кратных вхождений по 9
раскиньте сами 11 по 9

вы искали 10 чисел, тогда 11-ть 3-хкратных совпадений, да
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041314
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

Я уже здесь несколько раз написал что нужны номера строк совпадений из исходной таблицы:

[5, 7, 15, 22, 23, 27, 34, 37, 39, 40] есть в строках 1,2,3 - 3 раза
[5, 7, 8, 15, 22, 23, 27, 34, 37, 39] есть в строках 5,7 - 2 раза

-- это просто пример. Не результат.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041321
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

Вы первый человек с этого форума который выдал ответ очень близкий к моему.
Тема висит уже около месяца.

Спасибо вам большое - особенно если по вашему алгоритму всё получится.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041322
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
H5N1,

Я уже здесь несколько раз написал что нужны номера строк совпадений из исходной таблицы:

[5, 7, 15, 22, 23, 27, 34, 37, 39, 40] есть в строках 1,2,3 - 3 раза
[5, 7, 8, 15, 22, 23, 27, 34, 37, 39] есть в строках 5,7 - 2 раза

-- это просто пример. Не результат.


Это я написал до рассмотрения вашего результата - это можно бы удалить, но оно уже не удаляется.

Ещё раз - спасибо вам.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041419
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя программа закончила считать этой ночью. Я даже не знаю - сколько дней это длилось.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041421
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg,

Тебе еще делать что-то надо? А то мы тут пари собираемся заключить?
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041447
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
Моя программа закончила считать этой ночью. Я даже не знаю - сколько дней это длилось.

раз добавляются записи это было бесполезно.
мне кажется с подходом map-reduce задачка достаточно просто решается и на перл скриптиках. первый скриптик (мапер) читает строку из входного файла, генерит встретившиеся комбинации, создает файл на файловой системе с именем комбинации, пишет туда строку (столько раз сколько комбинаций в строке), читает следующую стоку ...
втрому скриптику (редюсер) остается лишь сосчитать кол-во строк в каждом файлике и выявить у кого там больше.
в боевых условиях следует чуток соптимизировать - не сваливать все в один фолдер, а создавать вложенные фолдеры из первой цифры, второй цифры комбинации и только там уже файл с именем комбинации. если файл при каждой записи открывать закрывать, наверно можно и в параллель запускать.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041469
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
Моя программа закончила считать этой ночью. Я даже не знаю - сколько дней это длилось.

Индексы строил? Explain смотрел? Движок на MyIsam менял? (По умолчанию МайСКЛ создает InnoDB).
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041471
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

MyIsam не навернётся, когда много данных?
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041474
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
mayton,

MyIsam не навернётся, когда много данных?

Почитал здесь https://dev.mysql.com/doc/mysql-reslimits-excerpt/8.0/en/table-size-limit.html

Вроде хватает до 1 миллиарда.

Код: sql
1.
MAX_ROWS=1 000 000 000
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041500
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miltorg
Моя программа закончила считать этой ночью.

Ответ - 42?
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041511
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

Я ваше решение ещё даже не смотрел.
Я боялся что нажму не ту кнопку и мои недельные мучения-расчёты обнулятся.
Сейчас гляну ваш метод.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041553
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
miltorg,

map-reduce - запросто. набросал код, 9 цифр в комбинации, данные взял из этой таблички
https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1332345&msg=22260954

на ноутбуке четыре ядра - 24 секунды и победила одна комбинация
[5, 7, 8, 27, 39, 50, 58, 62, 70] 3

т.е. три строки с такой комбинацией.
верный ответ?

маппер/редюсер
Код: java
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.
public class MiltorgMapper extends Mapper<LongWritable, Text, Text, Text> {
    private static final Logger log = LoggerFactory.getLogger(MiltorgMapper.class);

    @Override
    protected void map(LongWritable key, Text val, Context context) throws IOException, InterruptedException {
        log.info("key: {} val {}", key, val);
        int [] numbers = Stream.of(val.toString().split(";"))
                .mapToInt(Integer::parseInt)
                .toArray();
        Set<Integer> integerSet = Arrays.stream(numbers).boxed().collect(Collectors.toSet());
        TreeSet<Integer> tSetNumbers = new TreeSet<Integer>( integerSet);

        List<Set<Integer>> combinations = generateCombinations(tSetNumbers, 9);
        for (Set<Integer> c: combinations) {
            context.write( new Text(c.toString()), val) ;
        }

    }

    public static List<Set<Integer>> generateCombinations(Set<Integer> from, int size) {
        Set<Set<Integer>> elements = Sets.powerSet(from);
        List<Set<Integer>> possibleCombinations = elements.stream().filter(p -> p.size() == size).collect(Collectors.toList());
        return possibleCombinations;
    }

}

public class MiltorgReducer extends Reducer<Text, Text, Text, Text> {
        private static final Logger log = LoggerFactory.getLogger(MiltorgReducer.class);

        @Override
        protected void reduce(Text key, Iterable<Text> values, Context context) throws IOException,InterruptedException  {
            Integer matches = 0;
            for (Text value :values) {
                matches++;
            }
            if (matches>2) {
                context.write(new Text(key.toString()), new Text(matches.toString()));
            }
    }

}



Попытался скомпилировать - выдало кучу ошибок.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041560
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg

Попытался скомпилировать - выдало кучу ошибок.

Это технология Apache Hadoop. https://hadoop.apache.org/
По развертыванию локально можно поискать - но она неэффективна на single node.

Лучше - кластер. И лучше купить его за деньги.

И даже развертывание single node локально - требует определённой сноровки. Вобщем - тут
лучше еще один топик отдельно поднять.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041574
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Упс.
То есть кроме Java мне на компьютер пользователя, удалённо, придётся ставить ещё что-то?
Крутовато. Учитывая то, что простой запуск Перлового скрипта на его компьютере - вызывает массу вопросов.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041577
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg, да. Совершенно верно. Нужна инсталляция hadoop для начала. На Windows машинах
все это ставится плохо. Со скрипом. В основном это связано с несовершенством cmd-shell.
Куча банальностей типа левые-правые слеши, или разделители в CLASSPATH.

Поэтому если уж захотел плотно работать с java/bigdata - то лучше на Linux машине начинать учёбу.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041582
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
miltorg
Моя программа закончила считать этой ночью. Я даже не знаю - сколько дней это длилось.

раз добавляются записи это было бесполезно.
мне кажется с подходом map-reduce задачка достаточно просто решается и на перл скриптиках. первый скриптик (мапер) читает строку из входного файла, генерит встретившиеся комбинации, создает файл на файловой системе с именем комбинации, пишет туда строку (столько раз сколько комбинаций в строке), читает следующую стоку ...
втрому скриптику (редюсер) остается лишь сосчитать кол-во строк в каждом файлике и выявить у кого там больше.
в боевых условиях следует чуток соптимизировать - не сваливать все в один фолдер, а создавать вложенные фолдеры из первой цифры, второй цифры комбинации и только там уже файл с именем комбинации. если файл при каждой записи открывать закрывать, наверно можно и в параллель запускать.


Блин. Печально что не компелируется...
Я почему то подумал что это всё получится.
Даже не знаю что делать.

Ведь нужно обсчитать ещё 8 совпадений, 7 и 6

Пойду считать своим методом.
...
Рейтинг: 0 / 0
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
    #40041584
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Я то на Убунте. А клиент на Виндосе и за 800 км - у буржуинов.

Ок. Тупик, так тупик.
Клиент говорил, что неделя расчётов - это нормально. - Нормально, так нормально, только не на моём ноутбуке.
пусть нагружает свой.


Я конечно попробую всё оптимизировать... - с помощью местного населения.
:-)
...
Рейтинг: 0 / 0
25 сообщений из 471, страница 4 из 19
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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