|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Если другое - просьба указать что. * работает только с Hive без плясок с бубном ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 23:51 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Запросы удобно вертеть на х#ю. Он же hue ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2016, 12:49 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Чтобы не создавать новую тему. Пj факту идет война Spark +hive vs impala Ставлю на Impala ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2017, 21:51 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
мигель1, Простите забыл TEZ + HIVE ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2017, 22:03 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2017, 22:07 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
мигель1Пj факту идет война Spark +hive vs impala Это война белазов и феррари. Все три технологии работают с hive metasore. Поэтому под разные задачи можно выбирать нужные инструменты, а сами данные + метаданные едины. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2017, 23:31 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
haXbatмигель1Пj факту идет война Spark +hive vs impala Это война белазов и феррари. Все три технологии работают с hive metasore. Поэтому под разные задачи можно выбирать нужные инструменты, а сами данные + метаданные едины. А белаз и ферари это TEZ и Impala? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2017, 00:45 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
мигель1Чтобы не создавать новую тему.Вообще надо было создать. Правда тогда бы я ее не увидел. :)) Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2017, 16:43 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Создавая тему, мне, имело смысл указать только для выполнения запросов. DDL без вариантов должно выполняться через командную строку во избежание проблем с правами. В то же время в хадуп данные часто денормализованы и работать с таблицами по пару сотен колонок через командную строку это полный ад. Из универсальных SQL клиентов стоит добавить еще этот: DBeaver . ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2017, 16:49 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshop Data offloading into HDFS Fixed. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2017, 17:01 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Спасибо за ответ. у меня более глобальная проблема. Спустя год после тестов, компания подтвердила, что hdfs быть. Точнее Hdfs для аналитики. И если с запросами все вроде понятно ODBC драйвер, то вопрос с ETL открытый. То ли правда, все скриптовать и кроном или знакомиться с Spoon и talend ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2017, 21:51 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Ivan DurakЗапросы удобно вертеть на х#ю. Он же hue А действительно, почему hue не включили в список? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2017, 00:29 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
мигель1Спасибо за ответ. у меня более глобальная проблема.Это уже совсем оффтоп. Если интересно - создай отдельную тему, я там поделюсь опытом. NePZА действительно, почему hue не включили в список?Второй пункт - Web UI. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2017, 00:32 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopДавай разберемся с терминами и что к чему. отличный пост, хоть в FAQ клади ! dbms_photoshopНо вместе со скоростью импала унаследовала и главную проблему сишных программ - утечки памяти. Периодически возникающие "Memory limit exceeded" не позволяют использовать импалу для критических запросов и лечатся только рестартом Impala daemon. Кроме того, подобное не всегда легко воспроизвести, потому что зависит не только от выделенной памяти, но и от числа одновременно выполняющихся запросов и их специфики. а вот это, это из собственного опыта ? спрашиваю потому, что у нас вроде импала на удивление стабильно пашет. бывает задумывается черезчур на долго, видимо при нехватке ресурсов, но что бы рестарта требовала не слышал. правда нагрузка на импалу не очень большая, а запросы достаточно дубовые (данные специально подготавливаются заранее тяжелыми map-reduce) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2017, 13:18 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!а вот это, это из собственного опыта ?Да. Кластер используется достаточно интенсивно и если оно начало валиться, то потом даже если все запросы прибить и оставить одного пользователя, то до рестарта демона ошибка не уходит. Нашел у себя в заметках, что более детально формулировка может звучать так Код: plaintext
Если погуглить по "Query did not have enough memory to get the minimum required buffers in the block manager", то первая ссылка у меня https://community.cloudera.com/t5/Interactive-Short-cycle-SQL/Impala-memory-issue-Query-did-not-have-enough-memory-to-get-the/m-p/41101 This is almost certainly one of the known issues with Impala's previous YARN integration (via Llama). There were some fixes to that code in Impala 2.4 but you could still get this sort of unexpected failure. It's recommended that you do not use Impala on YARN, and instead to statically allocate resources to Impala for the time being. Cloudera Manager has a feature called "Static Service Pools" that can help with that, but it's not necessary. The CM documentation has more information. We are working on improving Impala resource management, but it's going to take some time and we don't yet have a target release yet.Но этот ответ больше года назад и у нас ошибка валится и на Impala2.3.0-cdh5.5.6 и на Impala2.7.0-cdh5.10.1 и "statically allocate resources to Impala". Более того мы обращались в Cloudera и они пока не могут предложить решение. Так что пока пришлось отключить Impala in production и используем в других environment для ad-hoc запросов. Хотя для ETL она тоже хороша, но из-за нестабильности пока увы применить не можем. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2017, 15:15 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Еще один клиент, поддерживающий кастомные JDBC drivers. Rapid SQL Надо будет как-нибудь написать сравнение их всех как будет время... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2017, 15:18 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshop, у нас на кластере 300+ гб и подозреваю импала просто не натыкается на что либо, где не хватает памяти. я на игровой виртуалке натыкался на Out of memory: Kill process 6439 (impalad) score 464 or sacrifice child, но там я спецом насиловал. имхо потому они и не позиционируют импалу по тяжелые ETL или джобы, я понял они позиционируют импалу как интерфейс внешним пользователям, типа отчетики, дата анлитики с нехитрыми квери и т.п. а что у вас делает ETL, spark ? как у него с надежностью ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2017, 16:35 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!dbms_photoshop, у нас на кластере 300+ гб и подозреваю импала просто не натыкается на что либо, где не хватает памяти. я на игровой виртуалке натыкался на Out of memory: Kill process 6439 (impalad) score 464 or sacrifice child, но там я спецом насиловал. имхо потому они и не позиционируют импалу по тяжелые ETL или джобы, я понял они позиционируют импалу как интерфейс внешним пользователям, типа отчетики, дата анлитики с нехитрыми квери и т.п. а что у вас делает ETL, spark ? как у него с надежностью ?Ни Impala ни Hive не особо friendly to multiple joins. Число соединений имеет смысл минимизировать в том числе и из-за дизайна. То есть, если скажем в Оракле есть таблица фактов и 10 измерений, то в HDFS имеет смысл создать одну таблицу с 400 колонками. Хотя все определяют детали. Пока в основном используем колоночный формат parquet и широкие таблицы, хотя у OCR есть свои фишки и я его пока особо не гонял. ETL бывает весьма мудреный с граппировками, аналитическими функциями и даже несколькими десятками соединений. Я однозначно рекомендовал бы использовать Spark 2.x (у нас 2.1) вместо Spark 1.x (пользовали 1.6), потому что 1.6 во-первых медлеенее, во-вторых имел проблемы со стабильностью и в третьих код не совсестимый. В 2.1 никаких проблем со стабильностью не наблюдал. Объемы данных кластера 550+ТБ, дневной прирост 700ГБ. Получается дневной прирост более чем в два раза превышает объем твоего кластера. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2017, 18:53 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!, Как я уже писал выше, сильно напрягает что в разных движках разные функции делают одно и то же и иногда невозможно написать код работающий и в Hive и в Impala. Я в прошлом году пытался решить проблему путем инкапсуляции логики в UDF, но были проблемы 1) Hive. Там есть перманентные и временные UDF, но даже перманентные не видны при выполнении запросов через Hue/JDBC. То есть можно создать функцию и использовать ее в Hive shell и всё. 2) Impala. Для создания функции нужны server wide admin privileges! http://www.cloudera.com/documentation/enterprise/5-5-x/topics/cm_sg_sentry_service.html 3) Spark. Тоже были проблемы с видимостью функций. Уже не помню деталей. Главная причина почему я это временно забросил - вторая. У себя на ноуте я импаловские UDF немного погонял в виртуалке Oracle Big Data Lite, но на работе каждый раз когда надо пересоздать функцию создавать задание админам требующее обоснования и прочей бюрократии - это не вариант. PS. Я это все делал на более старой версии кластера, может в CDH5.10 что-то поменялось в лучшую сторону. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2017, 19:03 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshop, 300+ гб это я оперативки имел ввиду, данных под импалу зипованных паркетов нарезается может на пару тб, но реально запросы много меньше затрагивают. наверно потому хорошо живет. а с UDF, судя по всему вам они так нужны, что бы тяжелую бизнес логику реализовывать и тут не понятно зачем тяжелую логику ETL на hive/map-reduce или hive/impala хотеть рисовать, если есть обычный map-reduce или спарк ? типа что бы скрипты компактные и в знакомом SQL были ? а на спарке ETL у вас java/scala api или sqlContext ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2017, 22:39 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!на спарке ETL у вас java/scala api или sqlContext ?А зачем разделять? https://amplab.cs.berkeley.edu/wp-content/uploads/2015/03/SparkSQLSigmod2015.pdf Rather than forcing users to pick between a relational or a procedural API, however, Spark SQL lets users seamlessly intermix the two. Вообще рекомендую прочитать указанную pdf целиком. Мой подход - реализовывать по возможности на SQL там где этот инструмент уместен и эффективен. В иных случаях помогает "a bit of scala coding". Конкретный пример вот Пятничная задачка. Смотрим назад. . В итоге та задача была решена в Spark как раз с применением обоих подходов. PS. А почему ты сидишь по серым ником? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 15:43 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopА зачем разделять? было интересно sql ли у вас. потому, что мы пришли к тому, что пишем sql под импалу, что бы проверять map-reduce код. видимо если надумаем переползать на спарк2, то наверно нам стоит и ориентироваться на sqlContext. dbms_photoshopВ итоге та задача была решена в Spark как раз с применением обоих подходов. честно говоря я не фанат "элегантных" sql, которые может прочесть лишь суровый ораклойд, не одну собаку съевший на аналитике. подозреваю спарк с применением двух подходов мне понравиться больше. dbms_photoshopPS. А почему ты сидишь по серым ником? лет 15 назад были зачотные баталии в "сравнения субд" и модератор был дурковатый. зато серые ники он забанить не смог :) модератора сменили, но на всякий ... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 17:36 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!мы пришли к тому, что пишем sql под импалу, что бы проверять map-reduce кодПри чем здесь вообще map-reduce? Это другой уровень абстракции. Безусловно надо понимать как работает движок, но как было замечено даже для Hive можно активировать три разных движка. Ну и вы везучие если у вас логика достаточно проста, что можно писать запросы совместимые в Hive и Impala. Yo.!честно говоря я не фанат "элегантных" sql, которые может прочесть лишь суровый ораклойдДело не столько во владении SQL сколько в отличной приспособленности SQL движков биг дейты для аналитики. Ну и лаконичность записи упрощает поддерживаемость (если прокачать свою суровость). Плюс логику можно вынести во view in Impala и аналитики могут играться с этим набором по своему усморению. Yo.!лет 15 назад были зачотные баталии в "сравнения субд" и модератор был дурковатый. зато серые ники он забанить не смог :) модератора сменили, но на всякий ...Текущего модератора SergSuper тоже адекватным и объективным я никак не назвал бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 18:10 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopПри чем здесь вообще map-reduce? Это другой уровень абстракции. Безусловно надо понимать как работает движок, но как было замечено даже для Hive можно активировать три разных движка. Ну и вы везучие если у вас логика достаточно проста, что можно писать запросы совместимые в Hive и Impala. не, мы не пишем совместимые запросы. мы пишем руками обычные map-reduce, никак не связанные с Hive. и вот что бы проверить, что эти нагромождения жаба классов это то, что нам заказывали, пришли к тому, что еще и рисуем sql под импалу, что бы результат обоих подходов сверить. плюс эти sql понятны аналитикам и наша документация. видимо со спарком все можно будет делать существенно проще, если он действительно работает хотя на 25% от того как обещают. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 21:31 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!dbms_photoshopПри чем здесь вообще map-reduce? Это другой уровень абстракции. Безусловно надо понимать как работает движок, но как было замечено даже для Hive можно активировать три разных движка. Ну и вы везучие если у вас логика достаточно проста, что можно писать запросы совместимые в Hive и Impala. не, мы не пишем совместимые запросы. мы пишем руками обычные map-reduce, никак не связанные с Hive. и вот что бы проверить, что эти нагромождения жаба классов это то, что нам заказывали, пришли к тому, что еще и рисуем sql под импалу, что бы результат обоих подходов сверить. плюс эти sql понятны аналитикам и наша документация. видимо со спарком все можно будет делать существенно проще, если он действительно работает хотя на 25% от того как обещают.жесть какая то ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2017, 23:07 |
|
Инструмент для работы с 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 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Update: получилось запустить спарковый SQL на той табличке вот так spark-sql --num-executors 3 --executor-memory 4G --executor-cores 6 --driver-memory 1G insert into mycsvtable select ... и тот SQL с аналитикой, заняло 5.5 минут, в вараианте с mapreduce выставил 5 маперов и 7 редюсеров, заняло 7 минут. т.е. разница в скоростях не принципиальны. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2017, 08:49 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!dbms_photoshopТы же сможешь продемонстировать как тру-программисты для реализации этой логики пишут "руками обычные map-reduce"? . На баше писали? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2017, 21:43 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Три года назад в Амазоне подсадили на вот это SQL Workbench/J . Оказался очень приятным в использовании и качественным инструментом. Что касается SQL vs что-то там еще. SQL используем как и положено для Ah-Hoc'a и отчетов. ETL стараемся делать на DataFrame API + Shapeless. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2017, 22:33 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
ApexТри года назад в Амазоне подсадили на вот это SQL Workbench/J . Оказался очень приятным в использовании и качественным инструментом. Что касается SQL vs что-то там еще. SQL используем как и положено для Ah-Hoc'a и отчетов. ETL стараемся делать на DataFrame API + Shapeless. Spark/DataFrame на амазоне ? Amazon EMR или виртуалки со своим дистрибутивом ? как давно запустили spark ? в клоудере spark выглядит по гланды кастрированным. даже spark-sql утилита вырезана ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2017, 08:44 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!Spark/DataFrame на амазоне ? Amazon EMR или виртуалки со своим дистрибутивом ? как давно запустили spark ? На данный момент используем AWS EMR, но будет переходить на Qubole, там юзерам чуть поудобнее сделано. Хотя нам для ETL почти без разницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 06:38 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
ApexНа данный момент используем AWS EMR, но будет переходить на Qubole, там юзерам чуть поудобнее сделано. Хотя нам для ETL почти без разницы. гугл говорит AWS EMR только с лета 2015 начал супортить спарк, подозреваю и у вас спарк совсем свежая история. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 08:32 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!ApexНа данный момент используем AWS EMR, но будет переходить на Qubole, там юзерам чуть поудобнее сделано. Хотя нам для ETL почти без разницы. гугл говорит AWS EMR только с лета 2015 начал супортить спарк, подозреваю и у вас спарк совсем свежая история. До этого его просто ставили через bootstrap step. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2017, 08:12 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Товарищи знатоки, подскажите, а Impala выполнят запросы чисто в памяти или может и на диске? У меня сейчас кластер из 6 машин по 16гб озу в каждой, hive на mr медленно, но уверенно отрабатывает, а impala пару раз подвешивала весь центральную ноду, где меньше всего озу. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2017, 17:43 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
pihelТоварищи знатоки, подскажите, а Impala выполнят запросы чисто в памяти или может и на диске? У меня сейчас кластер из 6 машин по 16гб озу в каждой, hive на mr медленно, но уверенно отрабатывает, а impala пару раз подвешивала весь центральную ноду, где меньше всего озу. может и не в памяти, иначе толку было бы в бигдата от такого. из этих 16, сколько импале то отдано ? небойс все отдано yarn, а не импале. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2017, 11:06 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!, Кластер был в тот момент пустой. Тестировал запрос с большой группировкой последовательно в разных системах: 2 млрд записей, около 700млн групп. В оракле запрос падал с темпом, импала вот тоже подвисала даже , хайв отрабатывал. Потом пробовал на 500 млн записей, хайв был быстрей импалы и оракла (уходил в темп) Ладно, это уже офтоп, не буду захламлять топик ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2017, 11:31 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
pihelКластер был в тот момент пустой. хоть беременный. если все ресурсы отданы yarn, импала будет гарантированно дохнуть. забери ресурсы у yarn и отдай импале. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2017, 11:45 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
pihel, Hive on Tez быстрее Impala? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2017, 23:37 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
мигель1, у меня сейчас установлена сборка от клаудеры, в которой нет Tez. Видимо придется поплатиться за свою лень и теперь как-то самому ставить tez ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2017, 09:36 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
pihelу меня сейчас установлена сборка от клаудеры, в которой нет Tez. Видимо придется поплатиться за свою лень и теперь как-то самому ставить tez по моим замерам Tez заметно медленее импалы. на клоудере вместо импалы, есть смысл пробовать Spark как движок к Hive (ставить через parcel), Tez на клоудере сомнительная затея. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2017, 10:20 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!, есть ли смысл пробовать spark/impala, если в кластере 6 нод, на каждой по 16ГБ озу ддр2 и хранилище пока что в 2 ТБ ? Мне кажется маловато озу, MR хотябы точно выполнится и не упадет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2017, 10:49 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
pihelесть ли смысл пробовать spark/impala, если в кластере 6 нод, на каждой по 16ГБ озу ддр2 и хранилище пока что в 2 ТБ ? Мне кажется маловато озу, MR хотябы точно выполнится и не упадет. смотря, что вы хотите от импалы/spark. мое глубокое имхо ETL тяжелые расчеты делать на импале не стоит, у нас подход map-reduce делает ETL, тяжелые расчеты и готовит широкие таблички, которые импалой смотрят отчетные системы и юзера. таким образом там импале особо негде перетрудиться и тогда она работает довольно стабильно. спарка в продукции не видел, мы пока лишь приглядываемся. в теории он интегрируется с yarn, интегрируется с Hive, но реальных примеров почти нет. все примерчики примитивны в стиле создать sparkSession, посчитать слова, тогда как в реале нужно изобретать какое-то middleware что бы джобы использовали единый sparkSession. 16гб думаю ему будет вполне хватать, у мня в виртуалке one node 16гб кое что запускается более менее. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2017, 11:26 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!, спасибо, тоже тогда буду пробовать на map reduce (в моем случае hive) посчитать агрегаты, а дальше что-то другое. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2017, 12:18 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
pihelYo.!, есть ли смысл пробовать spark/impala, если в кластере 6 нод, на каждой по 16ГБ озу ддр2 и хранилище пока что в 2 ТБ ? Мне кажется маловато озу, MR хотябы точно выполнится и не упадет. Ну и спарк не упадет, если все правильно написано. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 02:54 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.! map-reduce делает ETL, тяжелые расчеты и готовит широкие таблички, которые импалой смотрят отчетные системы и юзера. . Скажите, какие отчетные системы юзают импалу?? Самописные или ентерпрайз какие-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 11:46 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Ivan DurakYo.! map-reduce делает ETL, тяжелые расчеты и готовит широкие таблички, которые импалой смотрят отчетные системы и юзера. . Скажите, какие отчетные системы юзают импалу?? Самописные или ентерпрайз какие-то? все какие умеют через Hive, конкретно у нас QlickView, еще с боку видел Tableau тестировали ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 11:57 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!Ivan Durakпропущено... Скажите, какие отчетные системы юзают импалу?? Самописные или ентерпрайз какие-то? все какие умеют через Hive, конкретно у нас QlickView, еще с боку видел Tableau тестировали Прям заинтриговали. клик же все в память поднимает, зачем к нему хейв прикручивать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2017, 01:02 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
мигель1Yo.!пропущено... все какие умеют через Hive, конкретно у нас QlickView, еще с боку видел Tableau тестировали Прям заинтриговали. клик же все в память поднимает, зачем к нему хейв прикручивать? Причем здесь хайв, говорят же, смотрят Импалой. От Хайва там только драйвер, с которым Импала была совместима. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2017, 03:56 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!вспомнил про пост, побыстрому нарисовал mapreduce для той "пятничной задачки" Ну респект, что продемонстрировал. Обычно многие сливаются. Yo.!как видим mapreduce код примитив, студент последних курсов легко решит такую "пятничную" задачку в mapreduce за 15-30 минут, тогда как sql код для спарка уже из разряда пятничных задачек, и пишется не за 15 минут и явно не студентом. дальше mapreduce решение в данном случае легко сопровождается и расширяется - пункт 3) с подсчетом "редыдущих original так чтоб их сумма не превышала заданный лимит" добавляется за 5 минут, в решении со спарком как я понимаю придется все нафиг переписывать с нуля, отказываясь от декларативного sql и рисовать те же циклы, что у меня в редюсере. т.е. как раз эта задачка показывает что задачи у всех разные, и кое что в mapreduce много удобней делать.В Spark можно миксовать подходы SQL + api, при этом переход иногда весьма плавный. И все очень взаимозаменяемо. Vanilla map reduce это не только отстойная производительность и избыточный код, это устаревший и ограниченный подход. Особенно на Vanilla MR шикарно выглядела бы логика, требующая на SQL десятка соединений, группировку и аналитику. В 2013 вполне можно прокатить как решение, но с появлением Spark 1.6 и особенно Spark 2.0 никто в цивилизованном мире не начинает пилить ETL с нуля на MR. Если нагенерили тонны говнокода, то иногда приходится его поддерживать, да. Были даже промедуточные фреймворки типа Scalding, Scoobi, Scrunch и все это уже заменено Spark. Ознакомься с положением дел 4 года назад Should I Use Scalding or Scoobi or Scrunch? . Там в презентации есть даже отдельный раздел Future. Это то, что уже наступило. Итого если нет желания изучать новые подходы, можно продолжать писать дубовый говнокод за 15 минут, но если иногда есть время точить топор перед тем как рубить лес, то жизнь себе можно сильно облегчить. Yo.!что касается перфоменса, то померить в спарке 2.1 не удалось. спарк на чуть больших объемах вываливается с java.lang.OutOfMemoryError: GC overhead limit exceededВ том и дело, что спарк работает в памяти, а MR заливает промежуточные результаты на диск не говоря уже про другие ограничения MR. Погугли что ли spark vs MR. Дофига же материалов в сети. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2017, 15:03 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Теперь парочку подходов на spark. Та же табличка с двумя позициями Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
DataFrame Код: sql 1. 2.
Рассмотрим только получение одной колонки из трех (prev_o_value) для простоты. Если применить двойную аналитику как было показано здесь ( Пятничная задачка. Смотрим назад. ), то подход через API может выглядеть так. Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
Здесь, например, вместо when-otherwise можно было бы использовать expr(SQL case). Теперь уйдем от использования аналитики в том или ином виде. Map. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Улучшаем. Переходим к mapPartitions. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Если большое желание, то можно преобразовать набор данных в key-value пары, где value будет набор полей и применять PairRDDFunctions типа reduceByKey, groupBykey, aggregateByKey, combineByKey. Только для этой задачи это несколько неуклюже так как нам не надо "схлопывать" набор данных. Подытоживая, для data frame применить и функциональный подход и SQL сверху натянуть. Надо минимально понимать как оно работает, конечно. Можно сразу получать результаты в режиме терминала, можно компилировать код. Чем раньше ты уйдешь от Vanilla MR тем тебе будет лучше. Хотя можно, конечно, вспахивать поле на гужевой силе вместо комбайна. Разные бывают эстеты. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2017, 15:36 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!pihelКластер был в тот момент пустой. хоть беременный. если все ресурсы отданы yarn, импала будет гарантированно дохнуть. забери ресурсы у yarn и отдай импале.Погугли impala load balancer. Using Impala through a Proxy for High Availability ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2017, 15:42 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!pihelу меня сейчас установлена сборка от клаудеры, в которой нет Tez. Видимо придется поплатиться за свою лень и теперь как-то самому ставить tez по моим замерам Tez заметно медленее импалы. на клоудере вместо импалы, есть смысл пробовать Spark как движок к Hive (ставить через parcel), Tez на клоудере сомнительная затея.Вот ты же сам понимаешь гибкость. Если логика на SQL и данные в HDFS, я могу выбирать движок как минимум из Impala Spark Tez HiveMR Как я уже замечал раньше не все функции совместимы, но проблема решается использованием UDF. Когда не все решаемо на SQL => spark + scala. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2017, 15:44 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
pihelYo.!, спасибо, тоже тогда буду пробовать на map reduce (в моем случае hive) посчитать агрегаты, а дальше что-то другое.Перечитай топик еще раз и не надо заниматься херней. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2017, 15:46 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Ivan DurakYo.! map-reduce делает ETL, тяжелые расчеты и готовит широкие таблички, которые импалой смотрят отчетные системы и юзера. . Скажите, какие отчетные системы юзают импалу?? Самописные или ентерпрайз какие-то?С этого топик начинался (только с позиции разработчика). Всё что знает ODBC/JDBC может тянуть данные из Impala via SQL. В моем колхозе qlik, tableau, business objects и даже SSAS cube. Ведутся изыскания по построению решения на базе Kyvos OLAP. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2017, 18:14 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshop Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
отличная демонстрация того как примитивная задача на несколько строк MR в спарке может превратиться в совершенно не читаемое нагромождение вермишели. посмотри, у тебя 2 месяца ушло на этот код, а теперь сколько человек из команды эту вермишель сможет прочесть ? а сколькие добавить условие 3) "число предыдущих original так чтоб их сумма не превышала заданный лимит" ? спарк штука безусловно интересная и перспективная, но пока достаточно сырая, в клоудере так и откровенно кастрированная. книги и примеры по спарку по прежнему полный примитив. как строить что-то сложнее word count никто не знает. документации считай нет, все примерчики в книгах запускают джобы в отдельных jvm, которые естественно получают отдельные sparkSession. что бы шарить sparkSession народ воротит какие-то мутные REST сервисы аля spark-jobserver , которые выглядят вообще не сексуально, не секьюрно. кроме этого код в том виде как у тебя, это был бы серьезный шаг назад в плане безопасности кода. в терминах оракла у тебя динамический sql, который компилятор никак не валидирует. вместо df.repartition($"position") я могу написать df.repartition($"pornosition") и компилятор не заметит косяка. то что MR все общение между мапперами и редюсарами делает через писанину на hdfs большой и жирный минус, но есть много задач, где скорость не единственный показатель. надежность выполнения, безопасность кода и наглядность зачастую имеют не меньшее значение. а спарк пока на том уровне развития когда еще очень просто вместо солюшена получить нечитаемую и не безопасную вермишель вместо кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2017, 20:15 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!отличная демонстрация того как примитивная задача на несколько строк MR в спарке может превратиться в совершенно не читаемое нагромождение вермишели.Ты же отличаешь уровень представления от собственно логики. То же касается и способности считать строки. Если скала ты совсем не понимаешь, то пиши на java. Yo.!посмотри, у тебя 2 месяца ушло на этот кодДа какое там, я эту задачу с 2014 решал. И да, пришлось потратить больше часа на ответ тебе, это не типичный пост, который делаешь в рабочее время. Yo.!спарк штука безусловно интересная и перспективная, но пока достаточно сырая, в клоудере так и откровенно кастрированная. книги и примеры по спарку по прежнему полный примитив. как строить что-то сложнее word count никто не знает. документации считай нет, все примерчики в книгах запускают джобы в отдельных jvm, которые естественно получают отдельные sparkSession. что бы шарить sparkSession народ воротит какие-то мутные REST сервисы аля spark-jobserver , которые выглядят вообще не сексуально, не секьюрно.Да, штука сырая, с книгами проблемы. Зато по MR есть занимательное чтиво MapReduce Design Patterns . Для академического ознакомления самое оно. Отсутствие примеров в доке тоже хреново, что есть то есть. Yo.!кроме этого код в том виде как у тебя, это был бы серьезный шаг назад в плане безопасности кода. в терминах оракла у тебя динамический sql, который компилятор никак не валидирует. вместо df.repartition($"position") я могу написать df.repartition($"pornosition") и компилятор не заметит косяка.Мой код просто набросок для демонстрации разных подходов. Там многое можно и нужно изменять начиная от минимальной привязки к типам. Если изменить тип value на double то он перестанет работать. И заканчивая тем, что true functional developers совсем бы не оценили наличие у меня mutable var. Yo.!то что MR все общение между мапперами и редюсарами делает через писанину на hdfs большой и жирный минус, но есть много задач, где скорость не единственный показатель. надежность выполнения, безопасность кода и наглядность зачастую имеют не меньшее значение. а спарк пока на том уровне развития когда еще очень просто вместо солюшена получить нечитаемую и не безопасную вермишель вместо кода.Если не хватает памяти, то никто не мешает persist intermediate results в HDFS. Но если честно у меня такой необходимости не возникло. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 00:18 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopс книгами проблемыОказывается летом вышло пару книг о которых не знал. Scala and Spark for Big Data Analytics High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark Если что - обе pdf легко гуглятся в открытом доступе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 07:14 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopТы же отличаешь уровень представления от собственно логики. То же касается и способности считать строки. Если скала ты совсем не понимаешь, то пиши на java. я отличаю, потому у меня и подозрение, что теперь в такую конструкцию впихнуть оставшиеся условия пятничной задачки без большого изврата не выйдет. можно в ваш код добавить пункт 3: 3) "число предыдущих original так чтоб их сумма не превышала заданный лимит" dbms_photoshopОказывается летом вышло пару книг о которых не знал. Scala and Spark for Big Data Analytics High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark да, летом полистал. в первой впервые увидел не две строчки описания yarn-client режима, а целых четыре строчки, плюс картинки. пока это самое подробное описание, какое видел. но многое так и остается за кадром. я так и не нашел внятного описания что такое driver program, что делает spark-submit и прочие, минимально необходимые для пониманий концепций вещи. пока я так и не понял что делает spark-submit, думаю он в стиле map-reduce создает для yarn временные папки с /etc/conf туда упаковывает свои джарники, мои джарники и запускает нечто типа контейнера из такой папки. но внятного описания нигде нет. как дальше код попадает на воркеры тоже нет описаний, вероятно он шлет копию моего джарника каждому воркеру. вероятно, но хотелось бы однозначного описания этих базовых вещей, пусть не в доку, пусть в книге. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 11:01 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!можно в ваш код добавить пункт 3: 3) "число предыдущих original так чтоб их сумма не превышала заданный лимит"Я использовал бы подход как я продемонстировал для Оракла - добавил бы переменную и вспомогательную очередь. При случае поговорю с функциональными парнями у которых scala primary skill, как бы сделали они. Yo.!да, летом полистал. в первой впервые увидел не две строчки описания yarn-client режима, а целых четыре строчки, плюс картинки. пока это самое подробное описание, какое видел. но многое так и остается за кадром. я так и не нашел внятного описания что такое driver program, что делает spark-submit и прочие, минимально необходимые для пониманий концепций вещи. пока я так и не понял что делает spark-submit, думаю он в стиле map-reduce создает для yarn временные папки с /etc/conf туда упаковывает свои джарники, мои джарники и запускает нечто типа контейнера из такой папки. но внятного описания нигде нет. как дальше код попадает на воркеры тоже нет описаний, вероятно он шлет копию моего джарника каждому воркеру. вероятно, но хотелось бы однозначного описания этих базовых вещей, пусть не в доку, пусть в книге. Running Spark on YARN -> Preparations Optimizing YARN Mode in Unmanaged CDH Deployments ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 13:30 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopЯ использовал бы подход как я продемонстировал для Оракла - добавил бы переменную и вспомогательную очередь. При случае поговорю с функциональными парнями у которых scala primary skill, как бы сделали они. в оракле речь про этот вариант с аналитическими функциями ? в оракле с аналитикой вроде как раз второго прохода нет. если я верно понял мысль про "вспомогательную очередь", это будет второй проход. т.е. как раз то, что я и хотел продемонстрировать - простая задача, но со спарком уже требуются не столь элегантные нагромождения с повторным проходом или ребята с хитрыми скилами. плюс решение с двумя прохожденями уже может и не выиграть у MR в плане эффективности, т.е. на этой замечательной задачки MR может выиграть не только в простоте и читаемости. dbms_photoshop Running Spark on YARN -> Preparations Optimizing YARN Mode in Unmanaged CDH Deployments ? свои вопросы там не прояснил: "The configuration contained in this directory will be distributed to the YARN cluster so that all containers used by the application use the same configuration." - тут речь о том, что инфо содержащееся в папках будет distributed, а каким образом нифига не сказано. с моим джарником тоже не ясно, в "Optimizing YARN Mode in Unmanaged CDH Deployments" речь как я понял про голый спарк, а не джарники с моим кодом. причем в моем случае у меня managed by Cloudera Manager вариант и как я понимаю spark-assembly.jar сама клоудера подсовывает как-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 14:44 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!, 1. Речь про этот вариант 20559260 . Там один проход и ты сам его на него даже ссылался. 2. Там речь про бинарники и спарка и прикладухи. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 14:51 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshop1. Речь про этот вариант 20559260 . Там один проход и ты сам его на него даже ссылался. ок, тогда вопрос как именно этот вариант в спарке будет реализован. решение в лоб было бы датасет по "select * from t order by id" и проход по нему, но если я верно понимаю концепции спарк это плохо смаштабируется. в варианте rdd.mapPartitions(func, true) запуститься тьма воркеров которые запустят func в параллель, а в решении в лоб получиться лишь один поток, обрабатывающий данные из датасета dbms_photoshop2. Там речь про бинарники и спарка и прикладухи. клоудера1. Manually upload the Spark assembly JAR file to HDFS: $ hdfs dfs -mkdir -p /user/spark/share/lib $ hdfs dfs -put SPARK_HOME/assembly/lib/spark-assembly_*.jar /user/spark/share/lib/spark-assembly.jar You must manually upload the JAR each time you upgrade Spark to a new minor CDH release. manually upload the JAR each time you upgrade Spark - тут речь лишь о JARs спарка ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 15:49 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopIvan Durakпропущено... Скажите, какие отчетные системы юзают импалу?? Самописные или ентерпрайз какие-то?С этого топик начинался (только с позиции разработчика). Всё что знает ODBC/JDBC может тянуть данные из Impala via SQL. В моем колхозе qlik, tableau, business objects и даже SSAS cube. Ведутся изыскания по построению решения на базе Kyvos OLAP. ну например business objects на HIVE sql не взлетел от слова совсем. Автогенеренные зубодробительные sql от BO - не по зубам хайву. Что-то про спарк тоже сомневаюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2017, 14:54 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!ок, тогда вопрос как именно этот вариант в спарке будет реализован. решение в лоб было бы датасет по "select * from t order by id" и проход по нему, но если я верно понимаю концепции спарк это плохо смаштабируется. в варианте rdd.mapPartitions(func, true) запуститься тьма воркеров которые запустят func в параллель, а в решении в лоб получиться лишь один поток, обрабатывающий данные из датасета Вроде как repartition сделает shuffliung секций по нодам, потом sortWithinPartitions выполнит сортировку порций данных. Вставлять "order by" в запрос не имеет при таком сценарии никакого смысла. Более того, если присмотреться, в scala-решении нигде не используется SQL и данные читаются через spark.read, а не spark.sql как здесь 20604267 . С другой стороны, подходы можно миксовать, как уже было сказано, но надо понимать зачем. Функцию func которая, собственно, реализует всю логику можно переписать на функциональный манер (без переменных) примерно так. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Подозреваю что на это ты скажешь что тоже нечитаемый спагетти код. Хотя очевидный недостаток что при изменении типов в таблице может перестать работать, но я показал просто как заготовку. Потом если хочется считать еще колонку count_o, то смотрим на код здесь ( 20559260 ) и реализуем идентичный подход c очередью, как уже тоже было сказано. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
результат Код: 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. 25. 26.
Yo.!клоудераНе желаешь пройти и по первой ссылке? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 14:05 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Ivan Durakну например business objects на HIVE sql не взлетел от слова совсем. Автогенеренные зубодробительные sql от BO - не по зубам хайву. Что-то про спарк тоже сомневаюсьНу Hive можно переключить с ипользования MR на spark как уже было сказано 20588925 . Скорее всего это увеличит скорость в разы. Мне big data отчасти и нравится тем, что надо понимать что ты пишешь. Если для развитой СУБД много какие говно-запросы отработают за приемлемое время благодаря query transformations и индексам, то это не случай для bigdata. Query transformations здесь тоже имееются, но сильно урезанные пока. Например, если нет понимания, что для такого запроса не может быть hash join (без concatenation), то можно винить Impala что она работает вечность. Код: plaintext 1. 2.
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 14:21 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopПодозреваю что на это ты скажешь что тоже нечитаемый спагетти код. это же эмоди ! Код: java 1.
но сейчас я хочу привязаться к другому - тут же два прохода замаскировано: Код: java 1.
тут явно ожидается, что уже построена четвертая колонка prev_o_value, которая береться из более ранниих заклинаний. т.е. нужно сначала выполнить все заклинания для df2 Код: java 1.
т.е. сначала он все прочтет, отсортирует, высчислит prev_o_value, а представленный код с mapPartitions(func, true) инициирует уже второй проход. dbms_photoshopYo.!клоудераНе желаешь пройти и по первой ссылке? и по первой сходил, но как уже писал Yo.!свои вопросы там не прояснил: "The configuration contained in this directory will be distributed to the YARN cluster so that all containers used by the application use the same configuration." - тут речь о том, что инфо содержащееся в папках будет distributed, а каким образом нифига не сказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 23:26 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!это же эмоди !Эмодзи было использовано чтоб подсказать скале тип результата. Yo.!т.е. сначала он все прочтет, отсортирует, высчислит prev_o_value, а представленный код с mapPartitions(func, true) инициирует уже второй проход.Насколько я понимаю ты немного значешь PL/SQL и нет сомнений касательно того, что время выполнения в Оракле для приведенного алгоритма линейное. Если честно вообще непонятно почему ты думаешь, что есть какие-то порблемы со сложностью алгоритма в скала. Нет никаких двух проходов, нет никакой маскировки. Помедитируй над тем как работает scalLeftВо втором случае идет использование x1._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.
Только желтая строка имеет отношение к спарк. Все остальное pure scala. Диалог опять перестает быть содержательным. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2017, 12:51 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopЕсли честно вообще непонятно почему ты думаешь, что есть какие-то порблемы со сложностью алгоритма в скала. Нет никаких двух проходов, нет никакой маскировки. потому, что разговор идет не о скале, а о фремворке spark и его работе. не важно каким диалектом мы реализуем df2 и функцию - скалой, джавой или питоном. спарк превратит датафремы в DAG граф из RDD. df2 будет одним RDD, df с функцией будет другим RDD. это не фишка скалы, это фишка фрейворка. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2017, 15:10 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!, В решении нет df2. Это уже переходит в клоунаду. Прости если я тебя задел. И, конечно, зря я выступал против написания дубовой логики на map reduce. Каждый программирует в меру своих способностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2017, 15:25 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopВ решении нет df2. Это уже переходит в клоунаду. Прости если я тебя задел. И, конечно, зря я выступал против написания дубовой логики на map reduce. Каждый программирует в меру своих способностей. прости, но в твоем говнокоде val prev_o_value = if (x1.getString(2) == "original") (x1.getInt(3)) else (x1.getInt(4)); ожидается пятая колонка с предыдущим значением. если бы ты не говнокодил и хотя бы имена колонок писал, сам бы в этой вермишели увидел. в исходных данных этой колонки нет, ее нужно вычислить dbms_photoshop данные Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
предыдущее значение у тебя вычисляет df2. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2017, 15:47 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
Yo.!... Жги еще. Не думал что ты в итоге окажешься так жалок. Попробуем для самых маленьких. Предположим что ты смог создать таблицу. Запускаешь spark-shell. Копируешь туда код Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
Только не нужно прикапываться к schema и прочему. Это для простоты, чтоб не использовать декодеры. Хотя кому я объясняю... человеку которому мерещатся df2 и который не в состоянии сделать copy&paste. Вместо трех точек догадаешься написать полный путь? Ну слава Богу. Если scanLeft все-таки не для твоих мозгов, поковыряй другие подходы. PS. Я загляну в топик через два-три месяца снова, может здесь появится кто толковый. PPS. Даже не знаю почему тебя банили, такой приятный, эрудированный и конструктивный собеседник. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2017, 16:26 |
|
Инструмент для работы с SQL движками Impala/Hive
|
|||
---|---|---|---|
#18+
dbms_photoshopЕсли скала ты совсем не понимаешь, то пиши на java. А мне приходится на python писать. (( ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2017, 00:39 |
|
|
start [/forum/search_topic.php?author=Alexander-80578&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
get settings: |
11ms |
get forum list: |
15ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
184ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
130ms |
get tp. blocked users: |
2ms |
others: | 736ms |
total: | 1154ms |
0 / 0 |