• Виза таланта в цифровых технологиях в Великобританию: личный опыт

      Моя предыдущая статья на хабре про жизнь в Шотландии нашла очень большой отклик у хабрасообщества, поэтому я решил опубликовать тут еще одну статью которую об эмиграции, которую ранее публиковал на другой площадке.

      Я живу Великобритании больше двух лет. Изначально, я сюда переехал по рабочей визе, которая накладывает на держателя определенные ограничения: можно работать только на ту компанию, которая вас пригласила, а для того чтобы получить постоянный вид на жительство, нужно прожить по рабочей визе пять лет. Так как страна в целом мне нравится, я решил попробовать повысить свой иммиграционный статус быстрее и получить “визу таланта” (Tier 1 Exceptional Talent). На мой взгляд эта виза — самая лучшая британская виза, про которую как ни странно далеко не все люди, рассматривающие возможность переезда сюда, знают.


      Читать дальше →
    • Плюсы и минусы IT-шной жизни в Шотландии

        Я уже несколько лет живу в Шотландии. На днях я опубликовал в своем Facebook-е серию статей про плюсы и минусы жизни тут. Статьи нашли большой отклик среди моих друзей, и поэтому я решил, что это может быть интересно более широкому IT-сообществу. Так что — выкладываю на хабре для всех желающих. Я смотрю с “программистской” точки зрения, поэтому часть пунктов в моих плюсах и минусах будет специфичной для программистов, хотя многое применимо к жизни в Шотландии независимо от профессии.

        В первую очередь, мой список относится к Эдинбургу, так как в других городах я не жил.


        Вид на Эдинбург с холма Calton Hill
        Читать дальше →
      • Поиск под капотом. Облачная индексация

        • Tutorial

        В прошлой статье я рассказал о том, каким образом поисковая система может узнать о том, что существует та или иная веб-страница, и сохранить ее себе в хранилище. Но узнать о том, что веб-страница существует, — это только самое начало. Гораздо более важно за доли секунды успеть найти те страницы, которые содержат ключевые слова, введенные пользователем. О том, как это работает, я и расскажу в сегодняшней статье, проиллюстрировав свой рассказ «учебной» реализацией, которая тем не менее спроектирована таким образом, чтобы иметь возможность масштабироваться до размеров индексирования всего Интернета и учитывать современное состояние технологий анализа больших объемов данных.



        Заодно у меня получилось рассмотреть основные функции и методы Apache Spark, так что данную статью можно рассматривать еще и как небольшой туториал по спарку.

        Читать дальше →
        • +18
        • 4,6k
        • 6
      • Поиск под капотом Глава 1. Сетевой паук

          Умение искать информацию в Интернете является жизненно необходимым. Когда мы нажимаем на кнопку «искать» в нашей любимой поисковой системе, через доли секунды мы получаем ответ.


          Большинство совершенно не задумывается о том, что же происходит «под капотом», а между тем поисковая система — это не только полезный инструмент, но еще и сложный технологический продукт. Современная поисковая система для своей работы использует практически все передовые достижения компьютерной индустрии: большие данные, теорию графов и сетей, анализ текстов на естественном языке, машинное обучение, персонализацию и ранжирование. Понимание того, как работает поисковая система, дает представление об уровне развития технологий, и поэтому разобраться в этом будет полезно любому инженеру.



          В нескольких статьях я шаг за шагом расскажу о том, как работает поисковая система, и, кроме того, для иллюстрации я построю свой собственный небольшой поисковый движок, чтобы не быть голословным. Этот поисковый движок будет, конечно же, «учебным», с очень сильным упрощением того, что происходит внутри гугла или яндекса, но, с другой стороны, я не буду упрощать его слишком сильно.


          Первый шаг — это сбор данных (или, как его еще называют, краулинг).

          Читать дальше →
        • Big Data от A до Я. Часть 5.2: Продвинутые возможности hive

          • Tutorial
          Привет, Хабр! В этой статье мы продолжим рассматривать возможности hive — движка, транслирующего SQL-like запросы в MapReduce задачи.

          В предыдущей статье мы рассмотрели базовые возможности hive, такие как создание таблиц, загрузка данных, выполнение простых SELECT-запросов. Теперь поговорим о продвинутых возможностях, которые позволят выжимать максимум из Hive.


          Читать дальше →
          • +16
          • 17,8k
          • 1
        • Big Data от A до Я. Часть 5.1: Hive — SQL-движок над MapReduce

          • Tutorial
          Привет, Хабр! Мы продолжаем наш цикл статьей, посвященный инструментам и методам анализа данных. Следующие 2 статьи нашего цикла будут посвящены Hive — инструменту для любителей SQL. В предыдущих статьях мы рассматривали парадигму MapReduce, и приемы и стратегии работы с ней. Возможно многим читателям некоторые решения задач при помощи MapReduce показались несколько громоздкими. Действительно, спустя почти 50 лет после изобретения SQL,  кажется довольно странным писать больше одной строчки кода для решения задач вроде «посчитай мне сумму транзакций в разбивке по регионам».

          С другой стороны, классические СУБД, такие как Postgres, MySQL или Oracle не имеют такой гибкости в масштабировании при обработке больших массивов данных и при достижении объема большего дальнейшая поддержка становится большой головоной болью.



          Собственно, Apache Hive был придуман для того чтобы объеденить два этих достоинства:

          • Масштабируемость MapReduce
          • Удобство использования SQL для выборок из данных.

          Под катом мы расскажем каким образом это достигается, каким образом начать работать с Hive, и какие есть ограничения на его применения.
          Читать дальше →
          • +13
          • 42,9k
          • 1
        • Big Data от А до Я. Часть 4: Hbase

          • Tutorial
          Привет, Хабр! Наконец-то долгожданная четвёртая статья нашего цикла о больших данных. В этой статье мы поговорим про такой замечательный инструмент как Hbase, который в последнее время завоевал большую популярность: например Facebook использует его в качестве основы своей системы обмена сообщений, а мы в data-centric alliance используем hbase в качестве основного хранилища сырых данных для нашей платформы управления данными Facetz.DCA

          В статье будет рассказано про концепцию Big Table и её свободную реализацию, особенности работы и отличие как от классических реляционных баз данных (таких как MySQL и Oracle), так и key-value хранилищ, таких как Redis, Aerospike и memcached.
          Заинтересовало? Добро пожаловать под кат.


          Читать дальше →
        • Big data от А до Я. Часть 3: Приемы и стратегии разработки MapReduce-приложений

            Привет, Хабр! В предыдущих статьях мы описали парадигму MapReduce, а также показали как на практике реализовать и выполнить MapReduce-приложение на стеке Hadoop. Пришла пора описать различные приёмы, которые позволяют эффективно использовать MapReduce для решения практических задач, а также показать некоторые особенности Hadoop, которые позволяют упростить разработку или существенно ускорить выполнение MapReduce-задачи на кластере.


            Читать дальше →
            • +23
            • 58,7k
            • 5
          • Big Data от А до Я. Часть 2: Hadoop

            • Tutorial
            Привет, Хабр! В предыдущей статье мы рассмотрели парадигму параллельных вычислений MapReduce. В этой статье мы перейдём от теории к практике и рассмотрим Hadoop – мощный инструментарий для работы с большими данными от Apache foundation.

            В статье описано, какие инструменты и средства включает в себя Hadoop, каким образом установить Hadoop у себя, приведены инструкции и примеры разработки MapReduce-программ под Hadoop.


            Читать дальше →
            • +32
            • 151k
            • 8
          • Big Data от А до Я. Часть 1: Принципы работы с большими данными, парадигма MapReduce

            • Tutorial

            Привет, Хабр! Этой статьёй я открываю цикл материалов, посвящённых работе с большими данными. Зачем? Хочется сохранить накопленный опыт, свой и команды, так скажем, в энциклопедическом формате – наверняка кому-то он будет полезен.



            Проблематику больших данных постараемся описывать с разных сторон: основные принципы работы с данными, инструменты, примеры решения практических задач. Отдельное внимание окажем теме машинного обучения.



            Начинать надо от простого к сложному, поэтому первая статья – о принципах работы с большими данными и парадигме MapReduce.


            Читать дальше →
          • Потоковая обработка данных при помощи Akka

              Привет, Хабр! Все привыкли ассоциировать обработку больших данных с Hadoop (или Spark), которые реализуют парадигму MapReduce (или его расширения). В этой статье я расскажу о недостатках MapReduce, о том, почему мы приняли решение отказываться от MapReduce, и как мы приспособили Akka + Akka Cluster на замену MapReduce.


              Читать дальше →