|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
miltorg, где неверное? поясните ваш алгоритм на пальцах на простом примере Дано Наборы чисел 1,2,3,4,8,9 1,2,3,4,6,7 Найти вхождения всевозможных комбинаций из 3 чисел ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 14:23 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
можете добавить сколько угодно строк без этих чисел, чтобы они не совпадали притяните за уши ваш алгоритм под ответ 22273238 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 14:26 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
Мысли вслух. Про первый алгоритм. Я приводил например 13 совпадений к 12 . Потом приводил 12 совпадений к 11 Потом 11 совпадений к 10 А вы предлагаете из 13 сразу сделать 10. А какая разница? Всё равно надо глянуть - вдруг тут есть хоть какой то выход. Вдруг всё будет считать быстро и хорошо. Ок. Я это посмотрю. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 14:39 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
miltorg, так что мы рассуждаем? у вас нормальный алгоритм. Только сделать рекурсивную функцию Построение комбинации N-1 чисел из N для построения 10 из 15 вызывается 14 из 15, потом 13 из 14 и т.д. Без этого никак проще не сделать. Иначе генерить млрд строк ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 14:45 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
Alex_Ustinov miltorg, где неверное? поясните ваш алгоритм на пальцах на простом примере Дано Наборы чисел 1,2,3,4,8,9 1,2,3,4,6,7 Найти вхождения всевозможных комбинаций из 3 чисел Ну не вхождения нужно искать. Не вхождения. А строки. То есть ответ в вашем случае для 2 строк не имеет вообще никакого смысла. Вы выдумали сами себе задание и сами его решили и радуетесь. Но задание - найти строки в которых совпало по 9 чисел максимальное количество раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 14:50 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 14:53 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
Alex_Ustinov покажите где у вас строится комбинации 9 из 15-ти или 9 из 13 НЕ надо ничего сравнивать. Чисто построение Или все таки топик надо переносить в форум Perl Я ведь писал: 22273009 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 15:02 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
Alex_Ustinov, На 2 последних страницах я рассказываю вам элементарные вещи - разговор с вами прекращаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 15:05 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
Какой смысл в вашей фразе авторВы выдумали сами себе задание и сами его решили и радуетесь. если в результате делаете так же получается вы не можете переложить ваш алгоритм на простую задачу. авторТо есть ответ в вашем случае для 2 строк не имеет вообще никакого смысла. я же описал задачу 22273259 и показал решение и ответ здесь 22273238 Только после этого промежуточного решения вы можете суммировать свои максимальные вхождения. Иного не дано. Топик наверное опять надо закрывать. Тем более он совершенно не касается MySQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 16:34 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
задача решается за часик простеньким map-reduce кодом. мапер читает строку, шлет на редюсер все комбинации по 8, по 9 .. хоть 200 элементов в ключе (шлет строку, ключ - комбинация). редюсер считает кол-во строк прилетевших по ключу, если их больше нужного - пишет в файл ответ. потом файлы от редюсера уже можно грузить в базу, в базе отсортировать. если машина всего одна и дохлая, запускать с одим мапером и одним редюсером, если памяти гагабайты map-reduce замечательно распараллелит это дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 17:28 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
H5N1, техники map-reduce предполагают что у тебя не 1 ноутбучек с MySQL, а готовый и поднятый кластер наподобие AWS-EMR в облаке. В противном случае эти технологии так-же полезны как и 1 sql запрос с группировкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 18:05 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
mayton H5N1, техники map-reduce предполагают что у тебя не 1 ноутбучек с MySQL, а готовый и поднятый кластер наподобие AWS-EMR в облаке. В противном случае эти технологии так-же полезны как и 1 sql запрос с группировкой. что за ерудна ? база тошнит от того что пишет гигабайты лишнего в undo, redo, ставит блокировки, занимается каким-то порно с кешированием и еще миллионом совершенно ненужным в этой задаче вещами. map-reduce на ноутбуке дубово и ничего лишнего, потому будет чудовищно эффективно. понятно, что речь о запуске на винде в локальном режиме. кластер нафиг не нужен, пара маперов и редюсоров запросто влезут на ноутбук, обычный ноутбук. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 18:48 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
mayton, опять ваш клиент, заберите его в Программирование, тем более там уже пыточный топик есть с комбинаторикой ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 22:03 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
H5N1 mayton H5N1, техники map-reduce предполагают что у тебя не 1 ноутбучек с MySQL, а готовый и поднятый кластер наподобие AWS-EMR в облаке. В противном случае эти технологии так-же полезны как и 1 sql запрос с группировкой. база тошнит от того что пишет гигабайты лишнего в undo, redo, ставит блокировки, занимается каким-то порно с кешированием и еще миллионом совершенно ненужным в этой задаче вещами. Что? Пишет в undo? Ставит блокировки? Где?? Мы-же говорим про запрос Милторга? SELECT ... GROUP BY ... Не? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 22:15 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
mayton Что? Пишет в undo? Ставит блокировки? Где?? Мы-же говорим про запрос Милторга? SELECT ... GROUP BY ... Не? не. мы говорим про перл скрипт который в одном потоке в цикле долбит инсертом два дня. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 22:39 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
H5N1 mayton Что? Пишет в undo? Ставит блокировки? Где?? Мы-же говорим про запрос Милторга? SELECT ... GROUP BY ... Не? не. мы говорим про перл скрипт который в одном потоке в цикле долбит инсертом два дня. Ну да. Он выбрал MySQL. Автомат калашникова нашего времени. А вы что ему предлагаете? Сериализацию в Avro? Parquet? Orc? Какой вообще сценарий по шагам ему надо сделать в том случае чтоб задействовать технологии BigData. Забегая вперед я скажу что знаю ответ на этот вопрос. Но я считаю что для его уровня подготовки, MySQL с табличкой - это железный вариант который он хотя-бы сделает. Медленно. Со скрипом но сделает. Альтернативный сценрий в данном топике мне представляется просто невозможным. Вот в таком вот аспекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 22:45 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
mayton А вы что ему предлагаете? Сериализацию в Avro? Parquet? Orc? Какой вообще сценарий по шагам ему надо сделать в том случае чтоб задействовать технологии BigData. Забегая вперед я скажу что знаю ответ на этот вопрос. если знаете ответ, странные вопросы задаете mayton Но я считаю что для его уровня подготовки, MySQL с табличкой - это железный вариант который он хотя-бы сделает. Медленно. Со скрипом но сделает. да без шансов. комбинации из 9 он уже точно не дождется долбя в одном потоке. с map-reduce никакие паркеты не нужны, маперы читают csv файл, на редюсер соответственно уходит text, выплюнет редюсер тоже csv. в том же стиле явно можно и на спарк решить эту задачу: считать csv файл в датасет, flatMap() раздует датасет (перемножив строки на комбинации, каждая комбинация станет ключем), reduceByKey() посчитает кол-во строк по ключу. теперь это можно отсортировать и обрезать нужный топ. ну может еще по ключу заджоинить на первый датасет, т.к. в топе будут только топовые ключи/комбинации. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2021, 23:10 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
mayton Альтернативный сценрий в данном топике мне представляется просто невозможным. Скинуть готовый код, в который он просто введёт данные и выполнит. Иначе этот тупак будет тянутся еще месяц. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 05:54 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
H5N1, 1. Спасибо 2. Вы считаете что не имеет смысла искать какие то хитромудрые mySQL запросы? - именно это я ожидал от этой темы. Что кто-то умный напишет запрос который всё сделает внутри mySQL. 3. Вы предлагаете решить всё с помощью map-reduce? А оно точно справиться с 300 000 * 300 000 записей. Ведь проблема именно в этом огромном количестве проверяемых строк. Именно оно и считает уже почти неделю. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 07:00 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
так сколько строк - 600 или 300 тыс?) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 13:35 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
еще недоразумение - miltorgбольше 15 чисел совпадений - одна штукаиз совпадений 15 получаем 14 - это строковая функция путем последовательного вычеркивания чисел, т.е. получим 15 строк - каким алгоритмом это работает так долго? miltorg14 чисел - работало 5 мин если должно быть 0,5 сек на одну строку МАКСимум в самом убогом случае? maytonМы-же говорим про запрос Милторга? SELECT ... GROUP BY ...не дошли мы еще до GROUP BY, это еще в зародыше ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 13:54 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
или вот это автор14 чисел - работало 5 мин какой то другой замер? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 14:21 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
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.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 14:29 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
H5N1, не похоже даже близко, там 10-ки 3 раза как я помню 5-7-8-15-22-23-27-34-37-39-40 а девяток из этих 10 чисел будет гораздо больше ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 14:48 |
|
Считает слишком долго. Уже 2 сутки. Как оптимизировать скорость?
|
|||
---|---|---|---|
#18+
по ссылке 5_7_15_22_23_27_34_37_39_40 а вообще 11 чисел совпадает 3 раза 5-7-8-15-22-23-27-34-37-39-40 так что 9-ток там куча (110штук?) и здесь все жестко (-:) Вид ответа ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 15:01 |
|
|
start [/forum/topic.php?fid=47&msg=40040996&tid=1828188]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
others: | 244ms |
total: | 523ms |
0 / 0 |