[hadoop] заботать java или python?
Хочется заботать - заботай. Не хочется - и джавой обойдешься.
прогать и получать результатЭто не про джаву. Ботай питон.
Советую посмотреть лекции по MapReduce из ШАДа Яндекса, там как раз примеры на hadoop разбираются.
ничего нового не узнал, но за ссылку - спасибо
Это учебные курсы, мне помогло суть hadoop и map-reduce осознать. А примеры с python и c++ - понять как работать с hadoop-ом не используя java.
Объясните, чем этот хадуп лучше нормальной субд?
Объясните, чем этот хадуп лучше нормальной субд?Это не СУБД.
Это не СУБД.Если бы это была СУБД, то мой вопрос был бы бессмысленным.
Если бы это была СУБД, то мой вопрос был бы бессмысленным.Он и так звучит примерно вроде: чем операционная система лучше текстового редактора?
Во-первых, СУБД все же входит в состав в Hadoop - называется HBase. Во-вторых, как я понимаю, сферы применения того и другого сильно пересекаются - какой-то анализ данных.
не-а, сфера применения БД - обычно это накопление и выборочное использование или быстрый произвольный доступ. Хадуп же нужен для эффективной потоковой обработки петабайтов данных
hadoop и прочие bigdata-технологииА может кто мне пояснить, что крутого в Хадупе? Что им можно делать такого, что нельзя сделать мап-редьюсом Монги?
MongoDB does not have Map-Reduce
(that shitty JavaScript map-reduce thing does not count)
(с) Armin Ronacher
Aggregation Framework — это очень круто, почти всё можно сделать. Мапредьюс же — всё остальное.
Можно пример задачи, которая не решается монговским мапредьюсом?
не-а, сфера применения БД - обычно это накопление и выборочное использование или быстрый произвольный доступ.Ну так есть же СУБД, которые позиционируются не как OLTP, а как DWH. Тот же оракл можно в обеих ролях использовать.
Хадуп же нужен для эффективной потоковой обработки петабайтов данных
Ну, оракл тоже петабайты обрабатывает.
А может кто мне пояснить, что крутого в Монге?На первый взгляд выглядит как победитель Специальной Олимпиады в номинации "самая быстрая запись в оперативную память". Еще и стремные баги вроде как периодически находят. Использовал бы монгу только для хранения данных, которые не жалко продолбать (но таких у меня нет, увы). Но может быть я чего-то важного не понимаю, кто успешно использовал, расскажите, как оно?
Собственно, за счёт кластера они обеспечивают сохранность данных.
Еще и стремные баги вроде как периодически находят.
Допилят. Всё будет, это слишком молодой проект чтобы быть совсем безглючным.
кто успешно использовал, расскажите, как оно?Прекрасно. Верно пишешь, что "данные, которые не жалко продолбать" — самое то. Но вообще бэкапся, в Монге офигачить данные можно просто и легко, она вообще не про надёжность сохранения и прав доступа.
Но я знаю чувака, который биллинг на Монге написал. Это очень экстремальный чувак, но меня он убедил, что его биллинг не хуже чем биллинг на оракловых технологиях. И шардится даром, к слову. Разумеется, доступ к биллингу — через АПИ по ГТФН, написанное на питоне, пидорасов к самому хранилищу пускать нельзя.
Но я знаю чувака, который биллинг на Монге написал.Вот-вот, у меня платежи и даже логи несчастные потерять нельзя, ни строчки. Поэтому видимо не светит мне пока приобщиться таинств mongod.
У тебя диски не летят разве?
Летят конечно. Это видимо отчасти психологический момент. У меня весь durable state обеспечивает Всемогущий Oracle RAC, у которого волшебный сторадж и несколько жрецов DBA с медалями. И поэтому у меня ощущение, что если уж и при таком подходе чего продолбали, то иначе и нельзя было. Правда надо сказать, что за год пока ничего такого не продолбали. Но диски ломаются иногда конечно, что мы, не люди что-ли.
Так монга на 6 машинах (2 шарда по 3 реплики) — вполне вариант надежный.
ну так если во всех копиях один и тот же баг?
ну так если во всех копиях один и тот же баг?В Монге баг? Ну уже давно такого нет, но обновлять все реплики на новую разом не стоит.
Но я не уговариваю на Монгу переходить. Если что...
ну вы определитесь, стрёмные баги или нет
стрёмные баги или нетя не знаю, у меня стабильные Монги.
Так монга на 6 машинах (2 шарда по 3 реплики) — вполне вариант надежный.По статистике Oracle, поломка дисковой системы - не самая частая причина потери данных. Обычно причина в софте или ошибке человека который работает с базой. Тут никакая репликация не поможет, потому что ошибка сразу отреплицируется.
Кстати, интересный факт - документация по бэкапу монгодб по объему равна содержанию документации по бэкапу оракла.
а у монго - один, который срабатывает в 50% случаев
чтиво про монгу.
Познавательное On the other hand, Mongo still dropped two “successful” writes. Writes which were supposedly acknowledged by a majority of nodes.Нормально так, я пишу в хранилище, мол так и так, бабло ушло оттуда туда. "ОК", отвечает мне монга, там конечно репликация, кластер, majority, вот это всё. И потом внезапно оказывается что моя драгоценная запись про бабло на дисках не осела. Это печально.
I've been talking with 10gen, and they think this is a bug.
у оракла небось 50 способов бэкапа, каждый подходит для 1% случаевУ оракла два способа бэкапа - один нормальный, а про второй, который похож на тот, что применяется в монгодб, во введении сказано, что он говно, и поэтому он вообще не будет рассматриваться в мануале.
а у монго - один, который срабатывает в 50% случаев
в продажах оракла работаешь?
в продажах оракла работаешь?Нет, программирую на яваскрипте.
Ну, оракл тоже петабайты обрабатывает.Если решать задачу хранения данных, накладные расходы в случае Хадупа в несколько раз меньше. Отсюда он сильно дешевле выходит. Но это, разумеется, не Оракл. Там НЕТ запросов, НЕТ индексов, нет реляционной структуры. Это просто файл.
Там НЕТ запросовНу если взять Hive, а это уже часть экосистемы Hadoop, то запросы появятся.
> Это просто файл.
Нет запросов, нет индексов... Это просто фейл.
---
A2: Потому что так завещал великий и мудрый Ибеме,
и по другому делать некошерно.
Если решать задачу хранения данных, накладные расходы в случае Хадупа в несколько раз меньше.
А почему меньше? Какие накладные расходы в оракле?
Заботал бы Скалу вместо Явы. Имхо, лучший язык из существующих.
Ну если взять Hive, а это уже часть экосистемы Hadoop, то запросы появятся.Hive это тоже не СУБД С точки зрения обычной СУБД все, что делает Hive - это FULL TABLE SCAN на каждый запрос. А как он делает JOIN это вообще содомия.
То есть можно провести аналогию, то Hive - это нечто вроде CSV файла, который развернут в виде ODBC Data Source.
Имхо, лучший язык из существующих.для Scala IDE сложно (читай невозможно) написать. Язык без IDE — тупиковая ветка развития.
Язык без IDE — тупиковая ветка развития.Шурик, вот знаешь, реально в ИДЕ нет ни одной полезной фичи.
Предвидя твой ответ про рефакторинги - их ничто не мешает реализовать в виде консольной тулзы, и это было бы даже намного удобнее.
Правда, worksheet'ы там, конечно, глючат частенько.
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...
Сейчас это заявление убрали с сайта котлина.
Заботал бы Скалу вместо Явы. Имхо, лучший язык из существующих.Есть примеры "лучшести" из реальной жизни? Без наездов, просто любопытно
Есть примеры "лучшести" из реальной жизни? Без наездов, просто любопытноЯ написал о своём личном отношении к лаконичному синтаксису, сахару, приятным решениям в отдельных вопросах (перегрузка операторов, наприме системе типов, кроссплатформенности, поддержке в IDE и т.п.
Практических проектов на скале не писал.
Hive это тоже не СУБДА я и не говорил, что это СУБД. Да, все работает так, как ты сказал, но хотя б язык запросов SQL подобный появляется.
Оставить комментарий
NataNata
Я тут месяц усиленно грызу hadoop и прочие bigdata-технологии. Поставил все, что надо, сконфигурировал, настроил. И понимаю, что для того, чтобы что-то серьезно прогать, нужно более-менее уже осваивать или java, или python. Да, все фреймворки написаны на java-е или, некоторые, на clojure, однако вполне есть возможность писать те же проги на питоне. И если в яве все, даже разница м\у int и Integer, было изначально понятно, то с питоном я не знаком.Моя цель: прогать и получать результат. Да, еще для явы есть intellij idea, но питон как-то хочется заботать просто потому, что я его не знаю.
Есть ли смысл параллельно с mapreduce-ом, storm-ом и hive-ом и тд ботать питон, как считаете?