[hadoop] заботать java или python?

NataNata

Я тут месяц усиленно грызу hadoop и прочие bigdata-технологии. Поставил все, что надо, сконфигурировал, настроил. И понимаю, что для того, чтобы что-то серьезно прогать, нужно более-менее уже осваивать или java, или python. Да, все фреймворки написаны на java-е или, некоторые, на clojure, однако вполне есть возможность писать те же проги на питоне. И если в яве все, даже разница м\у int и Integer, было изначально понятно, то с питоном я не знаком.
Моя цель: прогать и получать результат. Да, еще для явы есть intellij idea, но питон как-то хочется заботать просто потому, что я его не знаю.
Есть ли смысл параллельно с mapreduce-ом, storm-ом и hive-ом и тд ботать питон, как считаете?

katrin2201

Хочется заботать - заботай. Не хочется - и джавой обойдешься.

luna89

прогать и получать результат
Это не про джаву. Ботай питон.

pino20

На самом деле, чтобы хорошо использовать hadoop можно использовать связку через сокеты или стримы, а дальше программа на любом языке. Но, к сожалению, до нативной java не дотягивает.
Советую посмотреть лекции по MapReduce из ШАДа Яндекса, там как раз примеры на hadoop разбираются.

NataNata

блин, чувак рассказывает по тем же книгам, которые я ботал когда-то О_о
ничего нового не узнал, но за ссылку - спасибо

pino20

Это учебные курсы, мне помогло суть hadoop и map-reduce осознать. А примеры с python и c++ - понять как работать с hadoop-ом не используя java.

luna89

Объясните, чем этот хадуп лучше нормальной субд?

Hastya

Объясните, чем этот хадуп лучше нормальной субд?
Это не СУБД.

luna89

Это не СУБД.
Если бы это была СУБД, то мой вопрос был бы бессмысленным.

Hastya

Если бы это была СУБД, то мой вопрос был бы бессмысленным.
Он и так звучит примерно вроде: чем операционная система лучше текстового редактора?

luna89

Во-первых, СУБД все же входит в состав в Hadoop - называется HBase. Во-вторых, как я понимаю, сферы применения того и другого сильно пересекаются - какой-то анализ данных.

schipuchka1

не-а, сфера применения БД - обычно это накопление и выборочное использование или быстрый произвольный доступ. Хадуп же нужен для эффективной потоковой обработки петабайтов данных

Werdna

hadoop и прочие bigdata-технологии
А может кто мне пояснить, что крутого в Хадупе? Что им можно делать такого, что нельзя сделать мап-редьюсом Монги?

stm5872449

на правах трололо
MongoDB does not have Map-Reduce
(that shitty JavaScript map-reduce thing does not count)
(с) Armin Ronacher

Werdna

Аргументируй, почему явоскриптовский мапредьюс — не круто?
Aggregation Framework — это очень круто, почти всё можно сделать. Мапредьюс же — всё остальное.
Можно пример задачи, которая не решается монговским мапредьюсом?

luna89

не-а, сфера применения БД - обычно это накопление и выборочное использование или быстрый произвольный доступ.
Ну так есть же СУБД, которые позиционируются не как OLTP, а как DWH. Тот же оракл можно в обеих ролях использовать.
Хадуп же нужен для эффективной потоковой обработки петабайтов данных

Ну, оракл тоже петабайты обрабатывает.

psm-home

А может кто мне пояснить, что крутого в Монге?
На первый взгляд выглядит как победитель Специальной Олимпиады в номинации "самая быстрая запись в оперативную память". Еще и стремные баги вроде как периодически находят. Использовал бы монгу только для хранения данных, которые не жалко продолбать (но таких у меня нет, увы). Но может быть я чего-то важного не понимаю, кто успешно использовал, расскажите, как оно?

ifani

Вообще, где-то читал, что "если вы не можете себе позволить запустить Монго в кластере, то вы не можете себе позволить Монго" :)
Собственно, за счёт кластера они обеспечивают сохранность данных.

Werdna

Еще и стремные баги вроде как периодически находят.

Допилят. Всё будет, это слишком молодой проект чтобы быть совсем безглючным.
кто успешно использовал, расскажите, как оно?
Прекрасно. Верно пишешь, что "данные, которые не жалко продолбать" — самое то. Но вообще бэкапся, в Монге офигачить данные можно просто и легко, она вообще не про надёжность сохранения и прав доступа.
Но я знаю чувака, который биллинг на Монге написал. Это очень экстремальный чувак, но меня он убедил, что его биллинг не хуже чем биллинг на оракловых технологиях. И шардится даром, к слову. Разумеется, доступ к биллингу — через АПИ по ГТФН, написанное на питоне, пидорасов к самому хранилищу пускать нельзя.

psm-home

Но я знаю чувака, который биллинг на Монге написал.
Вот-вот, у меня платежи и даже логи несчастные потерять нельзя, ни строчки. Поэтому видимо не светит мне пока приобщиться таинств mongod.

Werdna

У тебя диски не летят разве? :)

psm-home

Летят конечно. Это видимо отчасти психологический момент. У меня весь durable state обеспечивает Всемогущий Oracle RAC, у которого волшебный сторадж и несколько жрецов DBA с медалями. И поэтому у меня ощущение, что если уж и при таком подходе чего продолбали, то иначе и нельзя было. Правда надо сказать, что за год пока ничего такого не продолбали. Но диски ломаются иногда конечно, что мы, не люди что-ли.

Werdna

Так монга на 6 машинах (2 шарда по 3 реплики) — вполне вариант надежный.

Marinavo_0507

ну так если во всех копиях один и тот же баг?

Werdna

ну так если во всех копиях один и тот же баг?
В Монге баг? Ну уже давно такого нет, но обновлять все реплики на новую разом не стоит.
Но я не уговариваю на Монгу переходить. Если что... ;)

Marinavo_0507

ну вы определитесь, стрёмные баги или нет

Werdna

стрёмные баги или нет
я не знаю, у меня стабильные Монги.

luna89

Так монга на 6 машинах (2 шарда по 3 реплики) — вполне вариант надежный.
По статистике Oracle, поломка дисковой системы - не самая частая причина потери данных. Обычно причина в софте или ошибке человека который работает с базой. Тут никакая репликация не поможет, потому что ошибка сразу отреплицируется.
Кстати, интересный факт - документация по бэкапу монгодб по объему равна содержанию документации по бэкапу оракла.

Marinavo_0507

у оракла небось 50 способов бэкапа, каждый подходит для 1% случаев
а у монго - один, который срабатывает в 50% случаев :)

psm-home

Познавательное чтиво про монгу.
On the other hand, Mongo still dropped two “successful” writes. Writes which were supposedly acknowledged by a majority of nodes.
I've been talking with 10gen, and they think this is a bug.
Нормально так, я пишу в хранилище, мол так и так, бабло ушло оттуда туда. "ОК", отвечает мне монга, там конечно репликация, кластер, majority, вот это всё. И потом внезапно оказывается что моя драгоценная запись про бабло на дисках не осела. Это печально.

luna89

у оракла небось 50 способов бэкапа, каждый подходит для 1% случаев
а у монго - один, который срабатывает в 50% случаев :)
У оракла два способа бэкапа - один нормальный, а про второй, который похож на тот, что применяется в монгодб, во введении сказано, что он говно, и поэтому он вообще не будет рассматриваться в мануале.

Marinavo_0507

в продажах оракла работаешь?

luna89

в продажах оракла работаешь?
Нет, программирую на яваскрипте.

Hastya

Ну, оракл тоже петабайты обрабатывает.
Если решать задачу хранения данных, накладные расходы в случае Хадупа в несколько раз меньше. Отсюда он сильно дешевле выходит. Но это, разумеется, не Оракл. Там НЕТ запросов, НЕТ индексов, нет реляционной структуры. Это просто файл.

psm-home

Там НЕТ запросов
Ну если взять Hive, а это уже часть экосистемы Hadoop, то запросы появятся.

Ivan8209

> Там НЕТ запросов, НЕТ индексов, нет реляционной структуры.
> Это просто файл.
Нет запросов, нет индексов... Это просто фейл.
---
A2: Потому что так завещал великий и мудрый Ибеме,
и по другому делать некошерно.

luna89

Если решать задачу хранения данных, накладные расходы в случае Хадупа в несколько раз меньше.

А почему меньше? Какие накладные расходы в оракле?

agaaaa

Заботал бы Скалу вместо Явы. Имхо, лучший язык из существующих.

Hastya

Ну если взять Hive, а это уже часть экосистемы Hadoop, то запросы появятся.
Hive это тоже не СУБД :) С точки зрения обычной СУБД все, что делает Hive - это FULL TABLE SCAN на каждый запрос. А как он делает JOIN это вообще содомия.
То есть можно провести аналогию, то Hive - это нечто вроде CSV файла, который развернут в виде ODBC Data Source.

6yrop

Имхо, лучший язык из существующих.
для Scala IDE сложно (читай невозможно) написать. Язык без IDE — тупиковая ветка развития.

luna89

Язык без IDE — тупиковая ветка развития.
Шурик, вот знаешь, реально в ИДЕ нет ни одной полезной фичи.
Предвидя твой ответ про рефакторинги - их ничто не мешает реализовать в виде консольной тулзы, и это было бы даже намного удобнее.

ifani

Имхо, в IDEA весьма неплохая поддержка.
Правда, worksheet'ы там, конечно, глючат частенько.

6yrop

когда котлин начинали делать джетбрейновцы сами писали, что для скалы хорошую ide фиг сделаешь:

Scala is too complex and it’s very hard to make a good tooling support for it
http://blog.jetbrains.com/scala/2011/07/21/scala-vs-kotlin-v...
 

Сейчас это заявление убрали с сайта котлина.

NataNata

Заботал бы Скалу вместо Явы. Имхо, лучший язык из существующих.
Есть примеры "лучшести" из реальной жизни? Без наездов, просто любопытно

agaaaa

Есть примеры "лучшести" из реальной жизни? Без наездов, просто любопытно
Я написал о своём личном отношении к лаконичному синтаксису, сахару, приятным решениям в отдельных вопросах (перегрузка операторов, наприме системе типов, кроссплатформенности, поддержке в IDE и т.п.
Практических проектов на скале не писал.

psm-home

Hive это тоже не СУБД
А я и не говорил, что это СУБД. Да, все работает так, как ты сказал, но хотя б язык запросов SQL подобный появляется. :)
Оставить комментарий
Имя или ник:
Комментарий: