5 часов, чтобы открыть дверь Spark - 02. Построить среду разработки.

Большие данные Spark

«Это 9-й день моего участия в первом испытании обновлений 2022 года. Подробную информацию о мероприятии см.:Вызов первого обновления 2022 г."


Всем привет, я ~

5 часов, чтобы открыть дверь Spark, а во второй час я покажу вам, как построить среду разработки.

Есть два основных шага,

  • Установка Спарка
  • Построение среды Scala

Хватит болтать, вперед!

Установка Спарка

Spark написан на основе языка Scala и должен работать на JVM, а операционная среда — Java 7 или выше В этой статье используются Java 8 и Centos 7.

Также можно использовать Python, но в этом руководстве он подробно не рассматривается.

1. Загрузите искру

Я использую сервер Tencent Cloud.Также студенты, у которых его нет, могут использовать виртуальную машину.Я не буду вдаваться в подробности, как установить виртуальную машину на Win и Mac.На CSDN есть много туториалов. , которые относительно просты.

ЗапомниНастройка переменных среды JavaОй!

первое использованиеwgetЗагрузите установочный пакет (вы также можете загрузить его после загрузки локально)

cd /data/opt/spark
wget --no-check-certificate https://downloads.apache.org/spark/spark-3.2.0/spark-3.2.0-bin-hadoop3.2.tgz

Разархивируйте после завершения загрузки

Вы можете изменить имя на более короткое, а номер версии лучше сохранить

tar -zxf spark-3.2.0-bin-hadoop3.2.gz

2. Введение в каталог Spark

Вы можете войти в него и посмотреть

  • bin: в основном хранит некоторые исполняемые файлы.
  • потоковая передача, python, R, jars: в ​​основном хранят исходный код компонента.
  • примеры: Сохраните несколько исполняемых случаев Spark Job на одном компьютере.
  • conf: хранить файлы конфигурации.
  • данные: хранить файлы данных.
  • sbin: Хранит сценарии sh.

3. Запустите искру

Входитьsbinкаталог, выполнить./start-master.shдокумент.

По выходным данным найти лог.

Просмотр журналов

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

image-20220122222352384

хорошо, запуск удался!

3.Spark Shell

Spark-Shell — это простой способ изучения API и интерактивного анализа данных. Он может загружать данные, распределенные в кластере, в узлы памяти, так что распределенная обработка может быть завершена за считанные секунды.

Быстрые запросы, расчеты и анализ в режиме реального времени обычно выполняются в Shell.

Поэтому, чтобы изучить разработку программ Spark, рекомендуется сначала изучить интерактивное обучение Spark-Shell, чтобы углубить свое понимание разработки программ Spark.

Spark предоставляет Python Shell и Scala Shell.В этом курсе используется Scala.

иди вbinкаталог, выполнитьspark-shell

cd bin
./spark-shell

image-20220122211138840

хорошо, чтобы иметь хорошее представление о Spark-Shell, попробуйте пример:Читать файл и считать строки

Сначала создайте тестовый файл, основная операция Linux

hello scala!
hello spark!
hello world!

Назад в Шелл

Сначала прочитайте файл, а затем посчитайте строки

var lines=sc.textFile("../../file/test")
// 总行数
lines.count()
// 第一行
lines.first()

Результат выглядит следующим образом:

На этом установка Spark завершена, студенты могут столкнуться с проблемой, каждый раз писать код слишком хлопотно, разве это не похоже на код Java?

Конечно, можно, я научу вас настраивать плагин Scala для IDEA.

IDEA интегрирует плагин Scala

IDEA считает, что ею пользовались все, поэтому процесс установки и взлома повторять не буду.

1. Установите плагин

существуетsettingsПлагин Scala будет устанавливаться медленно в соответствии с примером на картинке. После успешной установки IDEA необходимо перезапустить.

2. Создайте проект Maven

Как показано на рисунке, создайте новый проект Maven, назовите его и назовитеspark-wordcount

импортировать зависимости

    <dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.12</artifactId>
            <version>3.2.0</version>
        </dependency>
    </dependencies>

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

<build>
        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

Если после перезагрузки проблем нет, наш проект создан.

Создайте новый класс нижеWordCount

image-20220122231419466

Обратите внимание на класс Scala, затем выберите «Объект».

Напишите еще один метод main в качестве точки входа в программу, который имеет много общего с Java.

распечатать тест

object WordCount {
  def main(args: Array[String]): Unit = {
    print("hello world!")
  }
}

выходной результат

Ок, среда разработки настроена.

Наконец

На этом вводное содержание на сегодня закончилось. Оно более практичное. Студенты должны работать с ним самостоятельно. На следующем уроке я познакомлю вас с классическим случаем ввода больших данных — WordCount.