Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496

Apache Spark оцените насколько всё плохо)

20.06.2017, 18:29. Показов 2461. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Сейчас изучаю Spark и паралельно Scala. Прошу откритиковать мой код с обеих сторон)
Вычислял сколько в каждом году вышло фильмов с одинаковыми жанрами.
Входящие данные:
1,Toy Story (1995),Adventure|Animation|Children|Come dy|Fantasy
2,Jumanji (1995),Adventure|Children|Fantasy
9,Sudden Death (1995),Action
10,GoldenEye (1995),Action|Adventure|Thriller
"11,""American President, The (1995)"",Comedy|Drama|Romance"

Вывод:
 
((1941)Sci-Fi,3)
((1951)Action,9)
((1958)Film-Noir,7)

Код
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package movie
 
import org.apache.spark.{SparkConf, SparkContext}
 
import scala.util.matching.Regex
 
object Movie {
 
  def main(args: Array[String]): Unit = {
 
    def genres(genrs: String): Array[String] = {
      val arrs = if (genrs.contains("|")) {
        val arr: Array[String] = genrs.split('|')
        arr(arr.length - 1) = trim(arr(arr.length - 1))
        arr
      } else if (!genrs.contains("|") && !genrs.trim.equals("(no genre listed)") && !genrs.trim.equals("(no genre listed)"")) {
        Array(trim(genrs))
      }
      else new Array[String](0)
      arrs
    }
 
    def trim(str: String): String = if (str.contains(""")) {
      str.replace(""", "").trim()
    }
    else {
      str.trim
    }
 
    val conf = new SparkConf().setAppName("movie")
 
    val sc = new SparkContext(conf)
 
    val lines = sc.textFile("/user/spark/movies.txt")
 
    val pattern: Regex = """\(\d{4}\)""".r
 
    val ddr1 = lines.map(x => (pattern.findFirstMatchIn(x).get.toString, x.split(",")))
 
    val ddr2 = ddr1.flatMapValues(x => genres(x(x.length - 1)))
 
    val ddr3 = ddr2.map(x => (x._1 + x._2, 1))
 
    val result = ddr3.reduceByKey((x, y) => x + y)
 
    result.saveAsTextFile("/user/result/streams")
 
  }
 
}


Добавлено через 23 часа 55 минут
В этом разделе есть кто живой?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.06.2017, 18:29
Ответы с готовыми решениями:

Состояние HDD - насколько всё плохо?
Добрый день. Вкратце моя ситуация: На компе установлено три HDD - один из них WD 2 tb Caviar Green - куплен в 2011 году. Разбит на 3...

Скажите, насколько всё плохо с этим HDD
Компьютер используется для игр и интернетика, начались серьезные проблемы с производительностью, думаю проблема в HDD. Иногда загружает...

Apache Spark
Здравствуйте. В установленой мною hortonworks sandbox 2.3.2 стоит версия spark 1.4.1, а настолько я знаю сейчас уже 2.х. Так вот, вопрос...

4
$ su
 Аватар для ntlinuxnt
1605 / 520 / 97
Регистрация: 18.11.2010
Сообщений: 2,807
Записей в блоге: 2
07.08.2017, 02:32
Получилось?
0
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
07.08.2017, 07:51  [ТС]
Ну да получилось. Я просто хотел узнать, насколько всё это криво написано)
0
$ su
 Аватар для ntlinuxnt
1605 / 520 / 97
Регистрация: 18.11.2010
Сообщений: 2,807
Записей в блоге: 2
07.08.2017, 14:16
Пробовали Spark SQL?
0
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
07.08.2017, 22:00  [ТС]
Да кенешно. Если использовать дафреймы и датасэты там всё это ищё проще.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.08.2017, 22:00
Помогаю со студенческими работами здесь

Ошибка при работе с apache spark
Установила, но при запуске pyspark shell вываливается куча сообщений. Подскажите, это ошибки или что? ввв@ввв-VirtualBox...

Насколько плохо?
Винда начала ругаться что диск вот вот крякнет, прогнал его программой Mhdd бад секторов 0, зелёных 8, коричневых 14 Тех что по 10 и 50...

Насколько все плохо ?
Здравствуйте, подскажите пожалуйста, насколько все критично ? Я так понимаю, что жесткий на последнем издыхании, потому как начал слегка...

Насколько все плохо с винтом?
Довелось проверить винт товарища на бэды, так как ось перестала работать. В миниатюрах представлены результаты S.M.A.R.T. на состояние...

Насколько плохо написан код?
написал программу с горем да пополам, но появился вопрос о ее качестве. насколько плохо она написана? стояла такая задача: программа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru