|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!не, мы не пишем совместимые запросы. мы пишем руками обычные map-reduce, никак не связанные с Hive. и вот что бы проверить, что эти нагромождения жаба классов это то, что нам заказывали ...То что вы делаете вам лучше перестать делать как можно быстрее за исключением случая когда зарплата зависит от числа строк кода. Какие у вас данные, кстати? structured, unstructured, semi-structured? Мы используем хадуп как полностью реляционное хранилище, хотя он не для этого изначально задумывался. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 12:42 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!dbms_photoshopПри чем здесь вообще map-reduce? Это другой уровень абстракции. Безусловно надо понимать как работает движок, но как было замечено даже для Hive можно активировать три разных движка. Ну и вы везучие если у вас логика достаточно проста, что можно писать запросы совместимые в Hive и Impala. не, мы не пишем совместимые запросы. мы пишем руками обычные map-reduce, никак не связанные с Hive. и вот что бы проверить, что эти нагромождения жаба классов это то, что нам заказывали, пришли к тому, что еще и рисуем sql под импалу, что бы результат обоих подходов сверить. плюс эти sql понятны аналитикам и наша документация. видимо со спарком все можно будет делать существенно проще, если он действительно работает хотя на 25% от того как обещают. жесть какая-то ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 13:03 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopТо что вы делаете вам лучше перестать делать как можно быстрее за исключением случая когда зарплата зависит от числа строк кода. дело не в строках, дело в цене ошибки. мы не картошку или твиты считаем и пришли к тому, что проще всего полноценно оттестировать - написать sql. задачи разные бывают. dbms_photoshopКакие у вас данные, кстати? structured, unstructured, semi-structured? Мы используем хадуп как полностью реляционное хранилище, хотя он не для этого изначально задумывался. да, почти все хорошо структурировано, стекается с реляционных баз. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 14:00 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!дело не в строках, дело в цене ошибки.Это никак не объясняет смысл вашего велосипедостроения. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 14:08 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopYo.!дело не в строках, дело в цене ошибки.Это никак не объясняет смысл вашего велосипедостроения. ну если меряться велосипедами то все же это ваше натягивание hive и импалу на ETL много ближе к велосипедостроению. а у нас смысл в дополнительном уровне тестирования, все чудеса не получается покрыть юнит и регрешен тестами. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 16:06 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!, Ты видимо не понимаешь базовых вещей и не захотел почитать документ, что я вчера давал Spark SQL: Relational Data Processing in Spark . Документу два года, но основные положения актуальны. Есть Spark для него можно писать логику либо на SQL либо с использованием programming api, если на SQL задача не решается либо решается неэффективно. Кто-то может предпочитать более программный подход из-за любви к unit tests, из-за плохого владения SQL или по иным причинам. можно расширять функциональность сторонникими продуктами ( Apache Spark Shared RDDs Powered by GridGain ) можно использовать другие инструменты, которые предоставляют высокоуровневый API и не париться как "параллелятся джобы" можно даже написать свой движок один раз (но возникает вопрос не лучше ли подправить уже то, что есть учитывая что код открыт) и писать бизнес логику на более высокоуровневом DSL ... есть случаи даже когда компания написала свой inhouse cluster с нуля и они пишут логику используя свой конструктор. У них свой аналог yarn, свой аналог spark, свой аналог HDFS etc. Но если деятельность состоит в том, что "мы пишем руками обычные map-reduce" - это клиника. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 16:27 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshop, я тот документ читал в прошлом году до выхода 2.0. я знаю как работает спарк. попробуй сосредоточится и вникнуть в то что тебе говорят. так вот, суть не в эффективности, суть в тестировании. нам пригодился SQL как другой способ описания логики, который позволяет в рамках финального тестирования сравнить результаты двух подходов. в спарке будет нагромождение датафреймов, которые мы все равно будем пытаться перепроверять дублированным SQL скриптом. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 17:15 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!попробуй сосредоточится и вникнуть в то что тебе говорят.Тебя понимают настолько насколько связно ты умеешь выражаться. dbms_photoshopмы не пишем совместимые запросы. мы пишем руками обычные map-reduce, никак не связанные с Hive.Пиши себе руками map-reduce. Я знал даже альтернативно креативных они вместо joins in Oracle SQL выгружали данные на app srv и соединяли наборы в java. Удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 17:29 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!dbms_photoshopпропущено... Это никак не объясняет смысл вашего велосипедостроения. ну если меряться велосипедами то все же это ваше натягивание hive и импалу на ETL много ближе к велосипедостроению. а у нас смысл в дополнительном уровне тестирования, все чудеса не получается покрыть юнит и регрешен тестами.Можно пояснить следующие вещи: 1) Зачем вы делаете все на map-reduce? Это труднее и намного медленнее, чем та же Impala? 2) Что у вас за отрасль бизнеса такая? 3) Зачем вам вообще распределенные вычисления для нескольких ТБ реляционных данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 17:41 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopYo.!попробуй сосредоточится и вникнуть в то что тебе говорят.Тебя понимают настолько насколько связно ты умеешь выражаться. dbms_photoshopмы не пишем совместимые запросы. мы пишем руками обычные map-reduce, никак не связанные с Hive.Пиши себе руками map-reduce. Я знал даже альтернативно креативных они вместо joins in Oracle SQL выгружали данные на app srv и соединяли наборы в java. Удачи. буду писать, этим я отличаюсь от индуса, который ничего кроме SQL не знает и поэтому все задачи пытается решить единственным ему знакомым инструментом. в суровой действительности клиника это вот так болеть dbms_photoshopИ наиболее раздражающее, что одни и те же действия выполняются по разному, что может делать SQL код несовместимым. Например получение дня (Sunday, Monday etc) для Impala будет выглядеть dayname(column), а для Hive - date_format(column, 'EEEE'). И это один из примеров, которых сотни. Можно использовать UDF, но их надо отдельно подключать в Hive и Impala и в Impala могут возникнуть трудности с правами. Хотя опять таки плюсом является, что UDF можно программировать на C. Касательно возможностей SQL - у Impala они богаче, то есть, если запрос выполняется в Hive, то скорее всего выполнится и в Impala, но не всегда. :) hive с mr движком генерит совершенно кривожопые map-reduce, а импала вовсе не предназначена под тяжелые ETL, но поскольку чувак ничего кроме SQL не знает, болезнь продолжает прогрессировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 17:47 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!буду писать, этим я отличаюсь от индуса, который ничего кроме SQL не знает и поэтому все задачи пытается решить единственным ему знакомым инструментом. в суровой действительности клиника это вот так болеть dbms_photoshopИ наиболее раздражающее, что одни и те же действия выполняются по разному, что может делать SQL код несовместимым. Например получение дня (Sunday, Monday etc) для Impala будет выглядеть dayname(column), а для Hive - date_format(column, 'EEEE'). И это один из примеров, которых сотни. Можно использовать UDF, но их надо отдельно подключать в Hive и Impala и в Impala могут возникнуть трудности с правами. Хотя опять таки плюсом является, что UDF можно программировать на C. Касательно возможностей SQL - у Impala они богаче, то есть, если запрос выполняется в Hive, то скорее всего выполнится и в Impala, но не всегда. :) hive с mr движком генерит совершенно кривожопые map-reduce, а импала вовсе не предназначена под тяжелые ETL, но поскольку чувак ничего кроме SQL не знает, болезнь продолжает прогрессировать.Как быстро ты скатился в говно. А так все хорошо начиналось "отличный пост, хоть в FAQ клади !". Аргумент про твое превосходство над индусом отдельно улыбнул. Про хреновые перфоманс hive + mr - это известный факт для тех кто в теме, но я несколько раз написал про разные движки. И мы тут в нашем колхозе не используем hive + mr. Я не говорю про применение Impala для тяжелого ETL, я говорил про совместимость. Если уж вспоминать людей из солнечной страны, то среди них популярно начать делать костыли и герерировать тонны говнокода без попытки разобраться что делает существующий инструментарий. Ты следуешь именно по этому пути. Плюсы можно найти и в твоей monkey job. На интервью часто просят написать map reduce на scala, я уверен ты с этим справишься блестяще. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 18:05 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Alexander RyndinМожно пояснить следующие вещи: 1) Зачем вы делаете все на map-reduce? Это труднее и намного медленнее, чем та же Impala? потому, что импала не предназначена под процессинг данных. ее задумывали выдавать подготовленные данные по jdbc, а на тяжелом процессинге, она просто начинает дохнуть. MR можно практически гарантировать время старта джоба, и время окончания, а с импалой никогда не угадаешь когда ждать ответ и будет ли он. импала хороша как интерфейс к hive табличкам, но не процессинг. Alexander Ryndin2) Что у вас за отрасль бизнеса такая? финансы Alexander Ryndin3) Зачем вам вообще распределенные вычисления для нескольких ТБ реляционных данных? заместить оракл. по большому счету пара ТБ это потому, что раньше задачи dwh и аналитики решали ораклы, а существенно больше обрабатывать не могли в рамках своих лицензий. наверху решили, что вкладываться в лицензии дорого ... dbms_photoshopПро хреновые перфоманс hive + mr - это известный факт для тех кто в теме, но я несколько раз написал про разные движки. И мы тут в нашем колхозе не используем hive + mr. Я не говорю про применение Impala для тяжелого ETL, я говорил про совместимость. т.е. ты знаешь, что кроме спарка ни один движек под хайв не годиться под процессинг данных, но поскольку моск с горошину ничерта нового не способен изучить, ты до победного будешь заниматься натягиванием SQL на бигдата. dbms_photoshopПлюсы можно найти и в твоей monkey job. На интервью часто просят написать map reduce на scala, я уверен ты с этим справишься блестяще. дело не в том, что я и на скале справлюсь. дело в том, что я по разному могу, а ты на любую задачу SQL натягиваешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 18:43 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!движек под хайв не годитьсяЩто нащальника? Помедленнее, я записываю. А про tez ты слышал? А то ты, видимо, читаешь мои сообщения через слово. Yo.!поскольку моск с горошину ничерта нового не способен изучить, ты до победного будешь заниматься натягиванием SQL на бигдата. Yo.!а ты на любую задачу SQL натягиваешь. Ты не нервничай так, серенький, внимательнее лучше читай что я пишу. dbms_photoshopМой подход - реализовывать по возможности на SQL там где этот инструмент уместен и эффективен. В иных случаях помогает "a bit of scala coding". Твои фантазии про прогрессирование болезни, размер моего мозга, уровень владения инструментами и все прочее выглядят глупо и дешево. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 18:57 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!дело не в строках, дело в цене ошибки. мы не картошку или твиты считаем и пришли к тому, что проще всего полноценно оттестировать - написать sql. задачи разные бывают Если цена ошибки ДЕЙСТВИТЕЛЬНО велика и Вы работаете со структурированными данными, использовать стек Hadoop для чего-то сложнее простой агрегации ...может быть опрометчиво. Впрочем, это в России такие решения не инженеры принимают и даже не менеджеры среднего звена. Было в советском лексиконе такое прикольное слово "волюнатаризм"...Хрущева уже давно нет, но дело его живет (это когда после визита первого лица в США в СССР решили кукурузу сеять вблизи Полярного Круга (условно), впечатлившись тем, насколько это полезный продукт) dbms_photoshopМы используем хадуп как полностью реляционное хранилище, хотя он не для этого изначально задумывался. [/quot] Если данных меньше пары сотен терабайт - это извращение. Если меньше пары петабайт - не факт, что оправдано экономически в крупной компании. С учетом ВСЕХ издержек и возможностей использования этих данных для внедрения сложной аналитики в операционный контур бизнеса (банально, там есть такая вещь как SLA, а хадупопепелацы даже после обработки напильником не сказать, что очень стабильны или отличаются высокой транзакционностью и т.д.) А если данных СТРУКТУРИРОВАННЫХ сотни терабайт или петабайты, а организация небольшая, то не очень понятно, откуда это обилие данных у этой конторы ФНС в Hadoop сырые данные хранит (детальные данные бухгалтерских книг), но у них задач с этими данными что-то хитрое делать в этом Hadoop не стоИт (да и вообще пока не стоит - некому ни ставить такие задачи, ни делать). Да и после очистки они все в Oracle загоняют обычно. В двух госбанках делают то, что Вы описали (испрользование Hadoop как платформы для DWH), но дальше "смотрите, как мы умеем", прогресс там не пошел, как не прижились там в свое время MPP системы в качестве DWH. Но проблемы там не Хадупе или Терадате ИМХО Сейчас, впрочем, в одном из госбанков решили двигаться в сторону связки Hadoop и Oracle, посмотрю, чем закончится. Учитывая последние достижения Oracle, выглядит по крайней мере здраво для некоторых задач. И не очень дорого, если уже есть годовой абонемент от Oracle (у крупных банков он обычно есть) Что до прочего, равняться на ту контору, которую мы все знаем, и которая выпилила "свой inhouse cluster с нуля и они пишут логику используя свой конструктор. У них свой аналог yarn, свой аналог spark, свой аналог HDFS etc" не стоит, если Вы не другая ИТ компания мирового уровня. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 19:14 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
NePZВпрочем, это в России такие решения не инженеры принимают и даже не менеджеры среднего звена.Я не в России, а в Британии, но здесь тоже финальное решение касательно платформы для хранилища может приниматься весьма НЕкомпетентными людьми. Потом начинаются попытки на Белазе участвовать в ралли. Для технических специалистов может быть увлекательно кто любит трудные вызовы и острые ощущения. :) NePZЕсли данных меньше пары сотен терабайт - это извращение. ... бла бла бла ... если Вы не другая ИТ компания мирового уровня.Не буду судить мой колхоз мирового уровня или нет, но сферические рассуждения в вакууме с категоричными выводами от ноунейма на форуме безусловно заставят всех еще раз взвесить свои решения. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 19:27 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!, Чтоб вернуть диалог в конструктивное русло вернемся к конкретной задаче. Если рассмотреть два пункта из моей задачи Пятничная задачка. Смотрим назад. , то можно написать такое SQL решение. данные Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: 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.
Если рассмотреть третий пункт там, то это уже будет НЕ SQL решение, но я НЕ пишу вручную map reduce. Ты же сможешь продемонстировать как тру-программисты для реализации этой логики пишут "руками обычные map-reduce"? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 19:45 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
NePZЕсли цена ошибки ДЕЙСТВИТЕЛЬНО велика и Вы работаете со структурированными данными, использовать стек Hadoop для чего-то сложнее простой агрегации ...может быть опрометчиво. Впрочем, это в России такие решения не инженеры принимают и даже не менеджеры среднего звена. Было в советском лексиконе такое прикольное слово "волюнатаризм"...Хрущева уже давно нет, но дело его живет (это когда после визита первого лица в США в СССР решили кукурузу сеять вблизи Полярного Круга (условно), впечатлившись тем, насколько это полезный продукт) печально слышать, но кантора в которой у меня проект в постсоветском пространстве не работает. NePZЕсли данных меньше пары сотен терабайт - это извращение. Если меньше пары петабайт - не факт, что оправдано экономически в крупной компании. это лишь распространенное заблуждение. дело не в размерах терабайтов, все дело в деньгах. основная причина отказа от оракла - бабло. компании почуяли, что хадуп достаточно стабильно работает и замена на нечто бесплатно масштабируемое реальна. опыт России, мягко говоря не показателен, в европе дохрена банков размером со всю банковскую систему России живут счастливо с хадупом. и тоже не потому, что в оракл не вмещались, а потому, что оно работает за меньшие деньги. что касается стабильности, у нас потому и map-reduce, потому, что работает как часы и укладывается в SLA. все эти движки для hive оно под процессинг данных не задумано, реальная альтернатива лишь спарк. и не через задницу hive, а spark job. но спарк 1.6 cloudera честно позиционировала как эксперементальная дребедень. спарк 2.0 cloudera зарелизила лишь прошлой осенью с длинющим списком несовместимостей , даже avro либа не работала. пару месяцев назад выложили версию 2.1, который выглядит первым релизом, который имеет смысл щупать. т.е. спарк еще пол года назад не был альтернативой. dbms_photoshop, а смысл ? ты сам map-reduce считай написал. в пятом посте pl/sql код, его аналог на жаве был бы у меня на редюсере. причем аналог с лямдами раза в два еще бы укоротился. маппер в данном примере просто все на единсвенный редюсер перенаправляет, но в реале там явно ид клиента еще есть, тогда маппер должен раскидывать на редюсеры по ид клента. в этом и прелесть map-reduce, все дубово, очень просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2017, 22:37 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!это распространенное заблуждение. дело не в размерах терабайтов, все дело в деньгах. основная причина отказа от оракла - бабло Все, о чем я говорю - про бабло. При объемах порядка сотен терабайт и меньше можно спокойно прожить без MPP и строить решение на midrange железе, например, при необходимости используя In-memory. Для крупной организации там ценник достаточно небольшой, чтобы заморачиваться по этому поводу. Да и TCO не только из стоимости лицензий складывается, не стоит про это забывать. При больших объемах данных (порядка петабайтов) вполне можно жить на MPP и более дорогом железе, но при объемах выше нескольких петабайт ценник на все это становится таким диким, что действительно приходится искать альтернативу. Yo.!в европе дохрена банков размером со всю банковскую систему России живут счастливо с хадупом. и тоже не потому, что в оракл не вмещались, а потому, что оно работает за меньшие деньги В Европе меньше 20 банков, которые по размеру активов превосходят крупнейший российский банк. И около дюжины, которые по размеру активов превосходят активы топ-10 РФ, но хадуп там далеко не везде есть. Банки типа HSBC даже в Европе стоят особняком. Плюс как там идет в реале мне сказать сложно, но в банках на WS переход на связки типа Hadoop+R (и велосипеды на Java) идет не настолько гладко, как коллегам бы хотелось и люди все больше смотрят в сторону чего-то типа Hadoop+H2O и присматриваются к другим технологиям, которые бы позволили лопатить имеющиеся у них данные. От себя замечу, что в США часто стимулом становится не только стоимость лицензий для ХРАНЕНИЯ данных, но и стоимость лицензий для анализа данных и внедрения аналитики. Потому что на данных там реально делают бизнес, но SAS или S+ стоят конских денег, особенно отраслевые solution на их основе (где стоимость лицензии вендоры любят привязывать к прибыли/капитализации), да и специалисты, которые с этими продуктами работают недешевые. А R на Западе по всех университетах преподают, где статистика в каком-то виде есть, и стоят такие спецы НАМНОГО дешевле. Так что у всей этой движухи больше измерений ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2017, 00:53 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
NePZВсе, о чем я говорю - про бабло. парень, да за версту видно, что ты ни разу не программист и по существу сказать тебе нечего словесный понос про петабайты, банки и активы здесь никому не интересен будешь надувать щеки перед шефом, а здесь технические специалисты разговаривают ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2017, 01:12 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
NePZЕсли данных меньше пары сотен терабайт - это извращение. Если меньше пары петабайт - не факт, что оправдано экономически в крупной компании. Вам надо в работе дальше за Булаву и Россию тереть. Лучше получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2017, 01:35 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Работник языкомпарень, да за версту видно, что ты ни разу не программист Хм..спасибо кэп. БумбарашВам надо в работе дальше за Россию тереть. Лучше получается. Вы много примеров видели в России за пределами интернет-компаний (от поисковиков до DMP-платформ), когда системы на основе Hadoop РЕАЛЬНО генерируют бизнес-value в сколь-либо заметном масштабе? А не выступают в роли игрушки или, в лучшем случае, вспомогательного инструмента? Тема зацепила тем, что аргументы Yo.! мне сильно напомнило, что я слышу от людей из родного ИТ. Подход dbms_photoshop куда более взвешенный. Но проблема в том, что есть 4 разных категории пользователей, без которых зарабатывание денег не взлетит. С сильно разными навыками и задачами: 1. Служба качества данных 2. Аналитики отчетности (во многих организациях 1 и 2 группы часто не разделяются) 3. Специалисты по разработке моделей (DS, если угодно) 4. Инженеры данных А дальше начинаются тонкости, из-за которых выработать единый подход в принципе не получится. Частный пример. На разработку модели отводится редко больше 5 рабочих дней чистого времени. В рамках этой активности DS генерирует несколько сотен фичей (по сути каждая фича это отдельная гипотеза, но не суть). Прикол в том, что за это время даже человек, который умеет бодро писать MapReduce, не успеет их закодить банально из-за трудоемкости процесса. Привет Hive (или Pig, или что есть). Но тут начинается вторая проблема. Все эти движки собственно SQL поддерживают довольно ограниченно (аналитические функции, например, обычно недоступны, да и в join какие-то виды сравнений могут не поддерживаться) и некоторые вещи тупо на этих движках сделать нельзя от слова совсем, приходится или шаманить с расширенными возможностями (некоторые из которых dbms_photoshop демонстрирует, но которыми далеко не все владеют), или писать те самые MapReduce, подряжая иногда для этого инженеров данных. Впрочем, это тоже не самая большая проблема. Грубо говоря, какая черт разница, насколько крут Spark SQL, если в MlLib нет нужного метода и ты модель не можешь сделать нормально? А если тебе данные один черт тащить на локальный нод для разработки модели, то зачем тогда вообще извращаться с работой в кластере, если фичи можно будет на той же локальной ноде Pandas сделать? В итоге все использование этих SQL-движков при разработке моделей нередко сводится к семплированию и агрегации данных, перед тем, как ты их на локальную ноду потащишь. Да, потом тебе качество этой модели надо на всех данных проверить доступных, и там иногда приходится фичи делать через написание MapReduce, но если у тебя в процессе разработки модели могут быть сотни фичей, то в самой модели их будут десятки, а того, что нельзя сделать через SQL-движки может быть всего полдюжины, и это уже вполне посильная задача. Опять-таки, инструменты для работы с движками. Все четко представляют разницу в уровне компетенции среднего специалиста по очистке данных и инженера данных? И разницу в задачах, которые они решают? Инженера данных можно(и нужно) привлекать к тестированию на этапе приемки, но припахать к ежедневной монотонной выверке данных их нереально - при обилии такой "интеллектуальной работы" они сбегут, даже если это щедро оплачивать (а там далеко не все можно автоматизировать). С другой стороны, специалистам по подготовке отчетов редко требуются какие-то опции, которые недоступны через hue, на кой им shell+putty? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2017, 20:53 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Т.е. что такое хадуп вроде разобрались. теперь надо понять где его можно и нужно применять ) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2017, 13:50 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
мигель1Т.е. что такое хадуп вроде разобрались. теперь надо понять где его можно и нужно применять ) хорошо подходит для хранения бесполезных данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 14:25 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Ivan Durakмигель1Т.е. что такое хадуп вроде разобрались. теперь надо понять где его можно и нужно применять ) хорошо подходит для хранения бесполезных данных. 1. Хорошо подходит для хранения логов и телеметрии. Данных там очень много. Мы в пилотах пока работаем с логами, где объемы сырых данных порядка десятка терабайт за месяц (от одной системы), но если снимать эти данные раз в несколько секунд, а не минуту, брать расширенный набор данных или брать еще и телеметрию, то там отдельные системы и сейчас по паре петабайт за год генерируют, а может быть и больше десятка. Год это хранить и не нужно имхо, но все равно очень приличные объемы получаются. Поэтому одна из задач - определение того, с какой глубиной эти данные реально нужны, как эти данные "схлопывать", какие именно данные и с какой частотой надо собирать, чтобы value было больше, чем затраты на сбор, хранение и анализ Зачем: задачи повышения надежности ЦОД, оперативное выявление сбоев в процессинге или работе банкоматной сети. В перспективе - повышение эффективности автострахования (мониторинг работы агрегатов автомобиля для снижения стоимости ремонта, анализ манеры вождения для справедливого установления цены автостраховки, детектирование ДТП и т.д.) Задачи интернета вещей короче. И вот тут реально без хадупообразия не обойтись. 2. Хранение сырых данных по транзакциям. Объемы сырых данных сравнительно небольшие, порядка сотен терабайт в год, если вообще все брать (включая цифровой профиль устройства, с которого осуществляется транзакция) и по всем каналам (CP, CNP) и не имеют тенденции к сильному росту (и так уже полстраны через нас идет), но в Oracle без MPP даже на hi-end железе (которое у нас есть и стоит как чугунный мост) такое ворочать сейчас не очень... комфортно (и просто дорого). После "схлопывания" данных (реально то все на агрегатах считается), в Oracle эти данные крутить удобнее (или как минимум - привычнее) и стабильнее (что для прома куда важнее), но сырец тоже надо где-то держать. Я сейчас ратую за то, чтобы нам дали к Oracle свой Hadoop прикрутить, т.к. по предварительным оценкам работать все будет более-менее: раз в неделю (а чаще для большинства задач нафиг надо) пересчитываем агрегаты, дальше в Oracle и все как обычно (и где все давно работает как часы). Плюс есть надежды, что после перехода на 12 версию и использования In Memory cамые нужные вещи в Oracle вообще летать будут. Год напильником поработаем, можно будет и раз в день в Hadoop все пересчитывать. А там год-другой и видно будет, может, и без Oracle можно будет прожить (или без Hadoop, если мощности железа будут расти, а цена падать - война маневр подскажет, зачем заранее загадывать) А вот текущая идея СРАЗУ все делать в Hadoop+GridGain, причем считать все чуть ли не онлайн, мне ОЧЕНЬ не нравится. Причем по многим причинам. Включая ту, что люди, которые сейчас официальным Hadoop занимаются, никогда в пром не выводили системы с жесткими SLA и высокой ценой сбоев. И то, что в GridGain модели на обсчет пока вообще никто в мире не ставил. Ну просто опции такой нет. А бравурные заявления, что де мы, да сами, да одним броском парашютно-десантной дивизии...Я уже насмотрелся, как одним броском BPM Pega внедряли. Четвертый год идет, бизнес на Excel просится. Есть простое правило: моделирование -> макеты -> стендовые испытания -> прототип -> заводские испытания -> опытная партия -> независимая приемка на государственных испытаниях -> мелкая серия + конструкторское сопровождение -> обкатка и выявление детских болезней -> подготовка к крупносерийному производству +обучение персонала-> тиражирование -> массовое производство. ИТ, не ИТ, самолеты, пепелацы - один шайтан разница. Жизненный цикл производства - он и в Африке жизненный цикл И пропуск хотя бы одного этапа не проактивность-креативность, а саботаж Зачем: поведенческие скоринговые модели на транзакционных данных для оценки кредитного риска, некоторые задачи событийного маркетинга, не требующие жесткого онлайн (а это почти все крупные покупки и все покупки, где клиент демонстрирует силу привычки, которая вторая натура), разработка персонализированных финансовых сервисов и анализ потребностей клиентов, model-based AML, пилотирование антифрод в процессинге (разработка моделей на ретроспективных данных для оценки эффективности). Последние две опции - если смежникам захочется. Сделать за других мы что-то можем, но вот ХОТЕТЬ за других мы еще как-то не научились. 3. Хранение аудиофайлов и оцифированных в текст записей. Почему: Oracle под такое не заточен. Зачем: анализ и маршрутизация жалоб клиентов, повышение эффективности удержания розничных клиентов, оценка успешности новых продуктов. P.S. вероятность, что сие взлетит и даст какой-то value, низкая. Если ответственные пОциенты не хотят (работать руками, идти на компромиссы, напрягаться), наука бессильна. Как говорил классик, основная привилегия монополиста - право не напрягаться. Классик был прав. 4. Хранение данных о том, кто как мышкой водит и куда пальцем в экран смартофона тыкает. Почему: Oracle под это не заточен Зачем: при правильном использовании позволяет улучшить UX и повысить конверсию, чтобы это не значило. При ставке на цифровые каналы, задача далеко не последней степени важности. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2017, 14:51 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopТы же сможешь продемонстировать как тру-программисты для реализации этой логики пишут "руками обычные map-reduce"? вспомнил про пост, побыстрому нарисовал mapreduce для той "пятничной задачки" маппер Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
редюсер Код: 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.
результ на том крошечном датасете Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
как видим mapreduce код примитив, студент последних курсов легко решит такую "пятничную" задачку в mapreduce за 15-30 минут, тогда как sql код для спарка уже из разряда пятничных задачек, и пишется не за 15 минут и явно не студентом. дальше mapreduce решение в данном случае легко сопровождается и расширяется - пункт 3) с подсчетом "редыдущих original так чтоб их сумма не превышала заданный лимит" добавляется за 5 минут, в решении со спарком как я понимаю придется все нафиг переписывать с нуля, отказываясь от декларативного sql и рисовать те же циклы, что у меня в редюсере. т.е. как раз эта задачка показывает что задачи у всех разные, и кое что в mapreduce много удобней делать. что касается перфоменса, то померить в спарке 2.1 не удалось. спарк на чуть больших объемах вываливается с java.lang.OutOfMemoryError: GC overhead limit exceeded, надо гуглить где и что можно подкрутить. но уже видно, что аналитика у спарка выжирает память по черному, ведь простые агригатные запросы бегают по этой же табличке (паркет файл на 615 мб) хорошо. тестировал я самостоятельно сгенеренном паркет файлике, 615 мб. сгенерил 10к positions и для каждого по 10к id's. спарк пока вылетает, mapreduce с 5 маперами и 1 reducer исправно прожувал и записал ответ в txt за 16 минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2017, 21:36 |
|
|
start [/forum/topic.php?fid=48&msg=39480635&tid=1856652]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
150ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 274ms |
0 / 0 |