Эта статья представляет собой полное руководство по Apache Spark Java, в котором вы узнаете, как написать простое приложение Spark. Для следования этому руководству не требуется никаких предварительных знаний об Apache Spark. Наше приложение Spark определит самые популярные слова в названиях видео на Youtube в США.
Во-первых, я представил Apache Spark, его историю, что это такое и как он работает. Во-первых, я представил Apache Spark, его историю, что это такое и как он работает.
История Apache Spark
История Apache Spark появилась в Калифорнийском университете в Беркли, где группа исследователей признает отсутствие интерактивности заданий MapReduce. В зависимости от размера наборов данных выполнение большого задания MapReduce может занять несколько часов или даже дней. Кроме того, вся экосистема Hadoop и MapReduce была сложной и сложной для изучения.
Платформа Apache Hadoop была отличным решением для распределенных систем, внедряющих парадигму параллелизма программирования в распределенных наборах данных. Рабочие узлы кластера будут выполнять вычисления и агрегировать результаты, получая результат. Однако у Hadoop есть несколько недостатков: система требует сложной настройки и не совсем интерактивна. К счастью, Apache Spark привнес в картину простоту и скорость.
Что такое Apache Spark?
Apache Spark – это вычислительный движок, который может планировать и распределять вычисления приложения, состоящие из множества задач. Это означает, что ваши вычислительные задачи или приложение не будут выполняться последовательно на одной машине. Вместо этого Apache Spark разделит вычисления на отдельные более мелкие задачи и выполнит их на разных серверах внутри кластера. Следовательно, максимизация мощности параллелизма.
Еще одним важным улучшением по сравнению с Hadoop является скорость. Использование хранилища в памяти для промежуточных результатов вычислений делает Apache Spark намного быстрее, чем Hadoop MapReduce.
Архитектура с примерами
Apache Spark использует архитектуру “ведущий-ведомый”, что означает, что один узел координирует вычисления, которые будут выполняться на других узлах.
Главный узел является центральным координатором, исполнитель которого будет запускать программу драйвера. Программа драйвера разделит задание Spark на более мелкие задачи и выполнит их среди множества распределенных работников. Программа драйвера будет взаимодействовать с распределенными рабочими узлами через сеанс Spark.
Настройка программы Spark Java
Напишите Java-программу Apache Spark
И, наконец, мы подходим к последнему шагу учебника Apache Spark Java, написанию кода программы Apache Spark Java. Пока мы создаем проект и загружаем набор данных, так что вы готовы написать программу spark, которая анализирует эти данные. В частности, мы выясним наиболее часто используемые слова в популярных заголовках YouTube.
Более подробные объяснения приведенного ниже кода
public class YoutubeTitleWordCount { private static final String COMMA_DELIMITER = ","; public static void main(String[] args) throws IOException { Logger.getLogger("org").setLevel(Level.ERROR); // CREATE SPARK CONTEXT SparkConf conf = new SparkConf().setAppName("wordCounts").setMaster("local[3]"); JavaSparkContext sparkContext = new JavaSparkContext(conf); // LOAD DATASETS JavaRDDvideos = sparkContext.textFile("data/youtube/USvideos.csv"); // TRANSFORMATIONS JavaRDD titles =videos .map(YoutubeTitleWordCount::extractTitle) .filter(StringUtils::isNotBlank); JavaRDD words = titles.flatMap( title -> Arrays.asList(title .toLowerCase() .trim() .replaceAll("\\p{Punct}","") .split(" ")).iterator()); // COUNTING Map wordCounts = words.countByValue(); List sorted = wordCounts.entrySet().stream() .sorted(Map.Entry.comparingByValue()).collect(Collectors.toList()); // DISPLAY for (Map.Entry entry : sorted) { System.out.println(entry.getKey() + " : " + entry.getValue()); } } public static String extractTitle(String videoLine){ try { return videoLine.split(COMMA_DELIMITER)[2]; }catch (ArrayIndexOutOfBoundsException e){ return ""; } } }
Я надеюсь, вам понравится эта статья, и большое вам спасибо за чтение и поддержку этого блога!
Оригинал: “https://dev.to/hellocodeclub/apache-spark-java-tutorial-simplest-guide-to-get-started-7hm”