Рубрики
Без рубрики

Объяснение технических вещей в нетехническом способе – (PY) Spark

Что такое искра и Pyspark и что я могу сделать с этим? Я когда-то спросил во время презентации … Теги с Python, программированием, распределенными системами, большими данными.

Что такое искра и Pyspark и что я могу сделать с этим?

Я когда-то спросил во время презентации Баскервильская аналитика системы объяснить Apache Spark Кто-то, что вообще не техничен. Это немного сбило меня, потому что я очень раньше думал и разговаривал в коде, и мой разум просто продолжал возвращаться к техническим условиям, поэтому я считаю, что я не делал отличную работу в самом ограниченном времени. Давайте попробуем это еще раз, ради этого человека, который спросил меня, и потому, что я считаю, что объясняя вещи как можно просто, – это отличный навык для развития.

Стойка примечания: Скиргность

Я читал Карандаш мне В Кристине р Wodtke Это говорит о Sketchnoting, который процесс сохранения визуальных нот помогает в понимании и запоминании. Я всегда был визуальным человеком и много разговаривал на протяжении всего моего детства – что действительно помогло мне помнить вещи лучше, а иногда также попали в беду. И поскольку весь процесс меня писать на среднем, так что я лучше понять, что я думаю, я знаю, и также изучать новые вещи, я думал, что попробую это снова. Прошло долгое время, так как я в последний раз делал это, и я сейчас очень сильно набрал и не написал (перевод: Ужасные эскизы, поступающие!), Так что, пожалуйста, будьте снисходительны.

Невозможное домашнее задание

Я предполагаю, что первое, что нужно сделать, это сделать пример того, что любой, или почти любой, может относиться к. Таким образом, скажем, что у вас есть домашнее задание, которое должно быть за неделю, а что вы должны сделать, это прочитать действительно огромную книгу, 7K страницы длинные, и соблюдайте счет, сколько раз автор использовал термин «большие данные» и в идеале Также сохраняйте фразы, которые содержат его (глупость, но нести со мной:)).

Это невозможная задача, учитывая временные ограничения, даже если вы читаете днем и ночью, вы не сможете закончить это в течение недели. Но вы не одиноки в этом, поэтому вы решите поговорить с вашими одноклассниками и друзьями и выяснить решение.

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

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

Другое, что нужно рассмотреть, это разделить страницы в соответствии с тем, кто имеет наибольшее время, и кто является скорейшим читателем или медленным, чтобы процесс был максимально эффективным, верно? Кроме того, некоторые из вас могут иметь другие домашние задания в течение недели, поэтому это также необходимо учитывать.

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

Что, если вам пришлось рассчитывать более чем один термин? Разделение страниц, вероятно, должно быть сделано в соответствии с названием глав и вероятности главы, включая условия. И что, если что-то произойдет, и один из вас не может завершить задачу? Соответствующие страницы должны быть перераспределены остальным из вас, в идеале в зависимости от того, сколько страниц каждый из вас ушел.

В конце концов, вы все будете собирать и добавлю свой счет, чтобы получить ваши результаты.

Итак, подводя итог, решать эту задачу, имеет смысл:

  • Разделить главы между собратьями

  • Вы организовали вещи, так как это была ваша идея, и вы знаете, как все должно играть

  • Разделите главы в соответствии со способностью каждого студента – учитывать скорость чтения и доступность

  • Переопределить работу, если что-то происходит, и человек не может закончить свою часть

  • Следите за тем, как дела идут – используйте закладки, поговорите со своими сокурсниками, чтобы отслеживать их прогресс и т. Д.

  • Собираться в конце, чтобы поделиться и объединить результаты

Как это относится к искру и Pyspark – получить немного более техническое

Пример домашней работы иллюстрирует, я так понимаю , сверхпроизводимое основное мышление позади Apache Spark (И многие аналогичные рамки и системы, например, горизонтальные или вертикальные данные «Sharding»), разделение данных в разумные группы (называемые «разбиениями» в случае искры), учитывая тот факт, что вы знаете, какие задачи вы должны выполнить на Данные, так что вы эффективны и распространяете эти разделы в идеально равное количество рабочих (или столько работников, сколько ваша система может предоставить). Эти рабочие могут быть на одном машине или в разных, например, Каждый рабочий на одной машине (узел). Должен быть координатор всех этих усилий, чтобы собрать всю необходимую информацию, необходимую для выполнения задачи и перераспределить нагрузку в случае сбоя. Также необходимо иметь (сеть) соединение между координатором и работниками для связи и обмена данными и информацией. Или даже повторный раздел данных в случае сбоя или когда вычисления требуют его (например, мы должны рассчитать что-то на каждом ряду данных независимо Но тогда нам нужно группировать эти строки ключом). Существует также концепция делать вещи в «ленивом» пути и использовать кэширование, чтобы отслеживать промежуточные результаты и не нужно рассчитать все с нуля все время.

Pyspark – это реализация Python Apache Spark , который является «Unified Analytics Engine для крупномасштабной обработки данных».

Обратите внимание, что это не точное и однонадельное сравнение с помощью искровых компонентов, но это близко однозначно. Я также опущел множество искровных внутренних органов и структур ради простоты. Если вы хотите копать глубже в этом, там много ресурсов, начиная с Официальный сайт Spark Apache Отказ

Сравнение, изображенное на предыдущем изображении, как я упоминал, не совсем точен. Давайте попробуем еще раз и получи учителю на картину тоже. Учитель является тем, кто предоставляет домашнее задание и инструкции (программу водителя), студенты разделены на рабочие группы, и каждая рабочая группа может позаботиться о части задачи. Ради краткости – и за попытка сделать мои рисунки менее сложными и мою жизнь немного проще, изображение ниже показывает сравнение одной рабочей группы, чтобы зажечь. Это, я чувствую себя немного ближе к тому, что на самом деле продолжается, когда бежит искровое приложение.

Простые и немного более технические условия, давайте скажем, у вас есть огромный текстовый файл (хорошо, не большие данные, но скажем, 15 ГБ) на вашем компьютере, и вы действительно хотите знать, сколько слов есть, или, В качестве домашнего задания выше, в нем появляется термин «большие данные», наряду с соответствующими фразами, вы столкнетесь со следующими вопросами:

  • Вы не можете открыть этот файл с помощью Netepad, потому что даже если у вас есть 32 ГБ ОЗУ, приложение, используемое для открытия и редактирования текстовых файлов, будет практически непригодным для использования файла 15 ГБ.

  • Вы можете кодировать что-то, чтобы подсчитать слова или конкретное слово или фразу в этом файле, либо путем чтения строки по строке, либо с использованием чего-то вроде Туалет В зависимости от вашей системы, но это будет медленный , Очень медленный. И что, если вам нужно сделать более сложные вещи?

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

Можно подумать о нескольких работах, таких как разделить огромный файл во многих маленьких и обработку маленьких и добавление результатов, используя методы многопроцессора. А вот где приходит искра, чтобы обеспечить это простое решение. Давайте посмотрим на очень простой пример Pyspark, используя библиотеку Python для Pyspark. .

Это выглядит довольно просто, не так ли? Всего несколько строк кода Python. Теперь давайте немного объясним, что он делает:

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

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

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

Я надеюсь, что это было полезно. Любые мысли, вопросы, исправления и предложения очень приветствуются:)

Первоначально опубликовано Середина

Я мог бы использовать Кофе Чтобы я идти:) Спасибо!

Оригинал: “https://dev.to/mkaranasou/on-explaining-technical-stuff-in-a-non-technical-way-py-spark-c3h”