diff --git a/QnA.md b/QnA.md index 3368cb6..d4596c0 100644 --- a/QnA.md +++ b/QnA.md @@ -11,13 +11,25 @@ ## Apache Spark -### Как начать работать с Apache Spark? +[содержание](#) -В подготовленной администратором среде вам должны быть доступны команды `spark-shell` для интерактивного программного взаимодействия, `spark-shell` для запуска задачи, `spark-sql` для интерактивного выполнения Spark SQL запросов. Также доступен `spark-class` скрипт, который используется всеми вышеперечисленными командами, для более тонкой настройки запуска. +### С чего начать при первом знакомстве с Apache Spark? + +Рекомендуется начать с установки IDEA Community Edition, создания sbt проекта и подключения Apache Spark библиотеки последней версии https://mvnrepository.com/artifact/org.apache.spark/spark-core. В среде разработки вы можете реализовать классическое приложение, создать scratch файл или запустить scala консоль для более интерактивной разработки. + +После освоения Spark команд и обработки локальных данных, отработайте навыки импорта/экспорта данных в распределённую файловую систему и запуска Apache Spark приложений на одной из доступных виртуальных машин с Hadoop экосистемой: +- https://mapr.com/try-mapr/sandbox/, +- https://www.cloudera.com/downloads/hortonworks-sandbox/hdp.html + +или на одном из серверов в облаке: +- https://docs.microsoft.com/ru-ru/azure/hdinsight/spark/apache-spark-overview, +- https://aws.amazon.com/ru/emr/features/spark/, +- https://cloud.google.com/learn/what-is-apache-spark. + + +В подготовленной администратором среде вам должны быть доступны команды `spark-shell` для интерактивного программного взаимодействия, `spark-shell` для запуска задачи, `spark-sql` для интерактивного выполнения Spark SQL запросов. Также доступен `spark-class` скрипт, который используется всеми вышеперечисленными командами, для более тонкой настройки запуска. -Если вам требуется разработать программу, то вы можете подключить библиотеку spark в проект и работать с ним средствами IDE. -Для локальной работы со Spark требуется JRE с правильно сконфигурированной переменной среды `JAVA_HOME` и сам Spark, который можно скачать в виде архива. После распаковки, внутри папки bin будут присутствовать вышеперечисленные скрипты. ### Как подключить Apache Spark библиотеку к проекту на Java, Scala? @@ -172,8 +184,12 @@ e => print(e) или (a,b) => a + b С помощью broadcast переменной. `val broadcastVar = sc.broadcast(Array(1,2,3)) ` + + ## Hive +[содержание](#) + ### Какие типы таблиц существуют в Hive? Существует два типа таблиц: управляемая (managed) и внешняя (external). Hive управляет и данными, и схемой управляемой таблицы. Данные внешней таблицы находятся за пределами ответственности Hive. @@ -342,6 +358,8 @@ TBLPROPERTIES(‘creator’ = ‘Joan’) ## MapReduce +[содержание](#) + ### Как работает механизм репликации в HDFS? Chain репликация выполняется при параметре `dfs.replication` в `hdfs-size.xml` большим, чем 1. Данные записываются в локальный блок HDFS, затем транслируются в блок в соседнем узле той же стойки, затем в блок на узле из другой стойки. Запись заканчивается, когда, начиная с последнего узла цепочки до первого, проходит подтверждение об успешной записи. @@ -522,6 +540,8 @@ hadoop distcp hdfs:// hdfs:// ## Потоковая обработка (Apache Storm) +[содержание](#) + ### Что такое Apache Storm? Система потоковой обработки с открытым кодом. @@ -543,8 +563,11 @@ hadoop distcp hdfs:// hdfs:// ### Приведите несколько примеров задач, хорошо решаемых потоковыми системами? Мониторинг сети на предмет аномалий и взломов. Веб аналитика кликов пользователей на интернет-страницах. + + ## Архитектуры BigData решений +[содержание](#) ### Объясните, что такое Lambda архитектура. Lambda architecture = CQRS (batch layer + serving layer) + speed layer