sparkmlib - это пакет, используемый spark для разработки машинного обучения, который реализует функцию машинного обучения на распределенных кластерах больших данных.Фреймворк также имеет tensorflow и deeplearning4j, но sparkmllib по своей сути легко интегрирован с hadoop, но короткая доска sparkmllib что он не может поддерживать глубокое обучение, в то время как тензорный поток и глубокое обучение поддерживают глубокое обучение.
Ладно, не говори глупостей, просто сделай это.
Среду разработки spark mllib рекомендуется собирать на ubuntu или centos, а не на windows
нет окон! ! ! , не окна! ! ! , Если не веришь мне, можешь попробовать. Если умрешь, не вини меня за то, что я не напомнил.
1. Установите среду разработки centos и ubantud, которая может быть реальной или виртуальной машиной.
2. Устанавливаем jdk, рекомендуется установить jdk8 и версия соответствует версии IDEA
3 Перейдите на официальный сайт IDEA, чтобы загрузить tar-пакет версии Linux, Baidu Centos или ubantu, чтобы установить IDEA просто
4 Загрузите scala, настройте переменные среды, забудьте о Baidu
Затем отверстие для ключа
После сборки файла 1pom нет jdk и scala
Первый шаг, щелкните файл, найдите структуру проекта, чтобы установить глобальные переменные и глобальные пакеты.
Второй шаг смотрите на картинку
Добавить замещающий текст Для этого изображения не указан замещающий текст Найдите плагины в настройках, чтобы узнать, есть ли в IDEA интегрированная scala.
Добавить замещающий текст Для этого изображения не указан замещающий текст Щелкните правой кнопкой мыши имя проекта и найдите AddFrameworkSupport.
Найдите scala, проверьте его, нажмите «ОК», чтобы сделать это, теперь в проекте есть scala, используйте локальный, сохраните файл pom для импорта, это слишком хлопотно
Весь POM файл
Просто импортируйте sparkmllib, вот тест, другие зависимости spark могут быть импортированы автоматически, в Интернете есть версия, которая импортирует слишком много пакетов, что легко может вызвать конфликты scala, что является большой ямой
Зайдите на официальный сайт Tsinghua Mirror и скачайте местную искру. данные в нем
Загрузите 13M, загрузите и распакуйте
Процедура тестирования следующая:
import org.apache.spark.ml.clustering.KMeans
import org.apache.spark.sql.SparkSession
/**
* Created by baohe on 17-7-21.
* Taking is cheap, fuck the code.
*/
object Hello {
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder
.appName(s"${this.getClass.getSimpleName}")
.master("local")
.getOrCreate()
// $example on$
// Loads data.
val dataset = spark.read.format("libsvm").load("/root/spark-2.1.1/data/mllib/sample_kmeans_data.txt")
// Trains a k-means model.
val kmeans = new KMeans().setK(2).setSeed(1L)
val model = kmeans.fit(dataset)
// Evaluate clustering by computing Within Set Sum of Squared Errors.
val WSSSE = model.computeCost(dataset)
println(s"Within Set Sum of Squared Errors = $WSSSE")
// Shows the result.
println("Cluster Centers: ")
model.clusterCenters.foreach(println)
// $example off$
spark.stop()
}
}
ошибка запуска
Причина в том, что параметр области в файле pom требует локальной среды искры, У меня нет настоящей искры локально, поэтому закомментируйте ее.
тогда это сработало
Также выводятся центральные точки, полученные кластеризацией.
Локальный тест прошел успешно, не расслабляйтесь, текущий код не запаковать в jar и не запустить на кластере, это просто игрушка