Scala - это язык программирования общего назначения, ориентированный главным образом на виртуальную машину Java. Разработанный для краткого, элегантного и типобезопасного выражения общих шаблонов программирования, он сочетает в себе императивный и функциональный стили программирования. Его ключевые особенности: усовершенствованная система статических типов с выводом типов; типы функций; сопоставление с образцом; неявные параметры и преобразования; перегрузка оператора; полная совместимость с Java; параллелизм
1 ответ

Инициализация SLF4J - логгеры замены

Я делаю проект в Scala, и я использую slf4j с Logback для входа. Теперь инициализация логирования не кажется поточно-ориентированной. В качестве решения slf4j создает замещающие логгеры, т.е. NoOp-логгеры, которые глотают лог-операторы, сделанные во…
15 сен '14 в 09:07
1 ответ

Предотвращение создания экземпляров классов в Scala с использованием Factory Pattern

Предположим, что у меня есть следующий класс, определенный в Scala: class ClassA(val n: Int) { ... } Я хочу ограничить экземпляры этого класса только теми, которые имеют n от 5 до 10, используя Factory Pattern. Например, если я напишу что-то вроде: …
15 июн '15 в 02:36
1 ответ

Считайте SocketTimeOut ложным случаем

В моем коде я получаю java.net.SocketTimeoutException когда я пытаюсь получить доступ к: val dirC = new InitialDirContext() val attr = dirC.getAttributes("dns:/"+domain, Array("MX")) Я хочу написать случай, когда я получаю verified = false когда ест…
02 мар '17 в 12:57
2 ответа

В чем разница между sbt/scala-seed.g8 и scala/scala-seed.g8?

Sbt-hello использует sbt new Команда для быстрой настройки проекта: sbt new sbt/scala-seed.g8 Тем не менее, я не могу найти sbt/scala-seed.g8 в шаблонах giter8. какая разница между sbt/scala-seed.g8 а также scala/scala-seed.g8? Это псевдоним?
06 июн '17 в 08:57
1 ответ

Остановить обработку сообщений актера по таймауту

Я использую шаблон запроса с тайм-аутом для отправки сообщения моему актеру, что может занять много времени для его обработки. Я хотел бы прекратить обработку сообщения, если время ожидания истекло. Но, похоже, актер продолжает обрабатывать сообщени…
18 июл '13 в 15:26
1 ответ

Phantom DSL моделирование кейсов

Я знаю, что у scala и / или JVM есть ограничение еще на 22 поля для классов дел, и лучший способ - разделить их на несколько классов дел, например: case class User(id: Long, username: String, password: String, address: Address) case class Address(id…
20 июн '15 в 19:32
1 ответ

LazyMap на самом деле не ленивый?

Вот пример из книги по лестнице: object Example1 { def lazyMap[T, U](coll: Iterable[T], f: T => U) = { new Iterable[U] { def iterator = coll.iterator.map(f) } } val v = lazyMap[Int, Int](Vector(1, 2, 3, 4), x => { println("Run!") x * 2 }) } Ре…
17 окт '15 в 14:10
1 ответ

Предварительная обработка данных с Apache Spark и Scala

Я довольно новичок в spark и scala, и поэтому у меня есть несколько вопросов, касающихся предварительной обработки данных с помощью spark и работы с rdds. Я работаю над небольшим проектом и хочу внедрить систему машинного обучения с помощью spark. Я…
21 июл '15 в 19:06
1 ответ

Spark Scala - проанализировать JSON из столбца данных и вернуть RDD со столбцами

У меня есть sparkScala RDD это выглядит так: df.printSchema() |-- stock._id: string (nullable = true) |-- stock.value: string (nullable = true) Второй столбец RDD является вложенным JSON: [ { ""warehouse"" : ""Type1"" , ""amount"" : ""0.0"" }, { ""w…
06 фев '17 в 12:18
3 ответа

Ошибка нехватки памяти при чтении большого файла в Spark 2.1.0

Я хочу использовать spark для чтения большого (51 ГБ) XML-файла (на внешнем жестком диске) в информационном кадре (с помощью плагина spark-xml), выполнить простое сопоставление / фильтрацию, переупорядочить его и затем записать обратно на диск в вид…
1 ответ

Объединение двух наборов данных искры скала

У меня есть два файла CSV (наборы данных) file1 и file2. Файл1 состоит из следующих столбцов: Orders | Requests | Book1 | Book2 Varchar| Integer | Integer| Integer Файл2 состоит из следующих столбцов: Book3 | Book4 | Book5 | Orders String| String| V…
26 фев '17 в 05:30
3 ответа

Строковый фильтр с использованием Spark UDF

input.csv: 200,300,889,767,9908,7768,9090 300,400,223,4456,3214,6675,333 234567890 123445667887 Что я хочу: читать входной файл и сравнивать с набором "123 200 300", если совпадение найдено, дает соответствующие данные 200 300 (из 1 строки ввода) 30…
16 июн '16 в 13:46
2 ответа

Scala - Как мне сделать метод "assertThrows"?

Я начал изучать Scala вчера, так что я довольно новичок в этом. Одна вещь, которую я люблю делать при изучении нового языка, это попытаться создать библиотеку микро-TDD. Это то, что я получил так далеко: def assert(condition: Boolean, message: Strin…
23 окт '11 в 12:18
1 ответ

Вывод типа достаточно умен, чтобы выяснить тип, когда тип оперирует с другим типом

Предположим, что этот тип логического кода для логического элемента в списке, def doStuff[A](x: List[A]) = x // ignore the result doStuff(List(3)) // I dont need to speicify the type Int here Однако, если тип A работает с другим типом, вывод типа не…
21 авг '14 в 07:03
1 ответ

Как я могу сделать карту [ (Int,Int), список [Int] ], которая охватывает от (0,0) до (8,8)?

Я работаю над программой Scala, которая по сути является решателем судоку, и для ее тестирования мне нужно создать "пустую" карту, которая включает в себя все координаты доски судоку (0,0),(0,1),(0,2) и т. Д. Вплоть до (8,8), которые представляют 81…
05 ноя '16 в 03:45
0 ответов

Передача аргументов командной строки в Spark-shell зависает на терминале Scala

У меня есть искорка, написанная на Scala. Я использую: arguments=$@ spark-shell -i <file-name-with-main, auxiliary-file-name1, auxiliary-file-name2> --master yarn-client --driver-memory 2G --executor-memory 4G --num-executors 10 --executor-cor…
19 янв '17 в 12:14
1 ответ

Используйте моноиды для вычисления частотной карты слов

Я изучаю книгу функционального программирования в Scala. глава 10, упражнение 20, для реализации следующего метода: def frequencyMap(strings: IndexedSeq[String]): Map[String, Int] честно говоря, у меня нет решения, поэтому я проверил ответ из GIT: d…
07 апр '14 в 03:25
1 ответ

Scala List, распараллеливаемый и вызывающий из Java

У меня есть scala.collection.immutable.List[WeatherData] В Scala я могу превратить его в параллельную коллекцию и вызвать метод Reduce: val sum = myList.par.reduce(_+_) Я хочу сделать то же самое в Java, но не могу. Прежде всего, Eclipse сообщает мн…
27 июл '12 в 15:50
2 ответа

Как явно вызывать и использовать Functor для функции

import scala.language.higherKinds import cats.Functor import cats.instances.list._ import cats.instances.function._ val list1 = List(1, 2) val list2 = Functor[List].map(list1)(i => i + 1) Но вещи не работают так гладко для функций, val f1 = (i: I…
13 сен '18 в 07:46
1 ответ

Принудительно воспроизводить JSON-сериализацию временных меток в виде строк, а не целых секунд

Я пытаюсь выяснить, как заставить метод Play toJSon сериализовать объекты java.sql.Timestamp/java.sql.Date в виде строк даты / времени, а не секунд с начала эпохи, что, по-видимому, является значением по умолчанию. Я попробовал два метода для достиж…
24 апр '14 в 17:54