Scala es un lenguaje de programación de propósito general dirigido principalmente a la máquina virtual Java. Diseñado para expresar patrones de programación comunes de una manera concisa, elegante y segura de tipos, fusiona estilos de programación imperativos y funcionales. Sus características clave son: un sistema de tipo estático avanzado con inferencia de tipo; tipos de funciones; la coincidencia de patrones; parámetros implícitos y conversiones; sobrecarga del operador; interoperabilidad total con Java; concurrencia

scala...

En el libro "Scala para los impacientes", dice en la página 16 En Scala, un bloque {} contiene una secuencia de expresiones, y el resultado también es una expresión. El valor del bloque es el valor de la última expresión. OK, entonces creemos un bloque y dejemos que se asigne el último valor del blo....
Supongamos que tengo alguna función que debería tomar una secuencia de Ints o una secuencia de Strings. Mi intento: object Example extends App { import scala.util.Random val rand: Random.type = scala.util.Random // raw data val x = Seq(1, 2, 3, 4, 5).map(e => e + rand.nextDouble()) val y ....
13 jun. 2020 a las 22:26
Estoy tratando de ordenar un mutable.Map [String, String] obteniendo la cadena y ordenando con los números dentro de la cadena. Entrada: "Liz", "Game: 2" "Philip", "Game: 5" "John", "Game: 0 | Score: 9" "Kevin", "Game: None" Salida a algo como esto "John", "Game: 5 | Score: 9" "Liz", "Game: 2" "Phi....
13 jun. 2020 a las 02:22
Estoy diseñando un programa. Soy nuevo en Scala pero parece que los argumentos opcionales se manejan usando lo siguiente: def f1(my_string: Option[String] = None) = { // Maybe do some pattern matching here to extract the value } Sin embargo, para un usuario final esto es bastante feo, ya que nece....
Estoy comprobando el número de particiones de la unión de 2 marcos de datos Spark idénticos , y noté que el resultado no es el mismo entre Scala y Pyhton API. Con Python, el número de particiones de la unión es la suma del número de particiones de los 2 marcos de datos, que es el comportamiento esp....
12 jun. 2020 a las 19:56
Quiero crear un modelo de simulación para aprender Scala, así como la programación funcional (FP). Ya tengo toda la lógica: la creación de una población de agentes (es solo un List[Agent], donde Agent es una clase que define un miembro individual, como una partícula en un gas) y algunas funciones (m....
12 jun. 2020 a las 00:32
Tenga en cuenta la pregunta para principiantes scala. Estoy tratando de obtener una lista de los últimos 12 meses del mes seleccionado. Pero el siguiente código da error: La expresión de tipo Unidad no se ajusta al tipo esperado Lista [Cadena] No estoy seguro de qué parte necesita la solución. Cua....
11 jun. 2020 a las 14:36
Estoy analizando cadenas JSON de un RDD[String] determinado e intento convertirlo en un Dataset con un case class dado. Sin embargo, cuando la cadena JSON no contiene todos los campos obligatorios de case class obtengo una excepción de que no se pudo encontrar la columna que falta. ¿Cómo puedo defin....
10 jun. 2020 a las 15:17
¿Cómo puedo seleccionar un case class basado en un valor de String? Mi código es val spark = SparkSession.builder()... val rddOfJsonStrings: RDD[String] = // some json strings as RDD val classSelector: String = ??? // could be "Foo" or "Bar", or any other String value case class Foo(foo: String) cas....
9 jun. 2020 a las 16:04
Estoy tratando de aplicar diferentes tipos de lógica según el tipo de conjunto de datos de chispa. Dependiendo del tipo de clase de caso que se pasa a doWork (Customer o Worker) tengo que aplicar diferentes tipos de agregación. ¿Cómo puedo hacer eso? import org.apache.spark.sql.{Dataset, SparkSessio....
8 jun. 2020 a las 16:11
Estoy trabajando en la creación de un modelo (simple) basado en agentes para aprender Scala y la programación funcional. Ya lo creé en Python, así que mi idea es codificarlo siguiendo las ideas ya existentes, pero me encontré con un problema al principio: Tengo una clase que describe un agente en el....
8 jun. 2020 a las 14:37
Necesito concatenar cadenas presentes dentro de un WrappedArray en Scala. Puedo hacerlo con la ayuda de List pero eso no es lo que tengo que hacer. Quiero una solución diseñada específicamente para WrappedArray y con el alcance de agregar / eliminar elementos mientras se concatena. Tengo que usar es....
Estoy usando mucho la coincidencia de patrones en scala. Muchas veces necesito hacer algunos cálculos en la parte de guardia y, a veces, son bastante caros. ¿Hay alguna forma de vincular los valores calculados para separar el valor? //i wan't to use result of prettyExpensiveFunc in body safely peopl....
6 jun. 2020 a las 12:35
En Scala, Spark necesita reemplazar {0} de la columna Descripción al valor disponible en la columna Estados como se muestra en la salida. Será más apreciable si responde esto sin usar spark udf. Entrada: Entrada DF Salida: Salida DF....
6 jun. 2020 a las 12:22
Soy nuevo en Scala y tengo que proporcionar valores extraídos de una clase de objeto / caso en una Seq. Me preguntaba si habría alguna forma genérica de extraer valores de un objeto en Seq de esos valores en orden. Convierta lo siguiente: case class Customer(name: Option[String], age: Int) val custo....
6 jun. 2020 a las 10:42
¿Alguien puede ayudarme a crear un marco de datos donde el valor de la marca de tiempo inicial y final se da y necesitamos imprimir todo el incremento de la hora en uno? Ejemplo de fecha y hora de inicio: 02-05-2020 01:00 Fecha y hora de finalización: 03-05-2020 02:00 Entonces el df debería tener to....
2 jun. 2020 a las 10:18
Tengo una clase de caso con un par de campos de cadena. Utilizo el resultado de los valores de una división de cadena para crear una instancia de la clase, pero quiero obtener un error cuando cualquiera de los campos es una cadena vacía. Por ejemplo: case class SomeClass(a: String, b: String) val li....
31 may. 2020 a las 04:49
Utilizo algunas API Rest que responden con json que contiene una especie de campo "mixto". Por mixto quiero decir que puede tomar valores de un tipo diferente. En mi caso, Object, String y Int están permitidos. El Object en sí consiste en 1 Int y 1 String. El objeto que necesito decodificar se ve as....
30 may. 2020 a las 15:03
Digamos que tengo una lista que se parece a {A, B, C, D, E} Y quiero recorrer esta lista, obteniendo un número creciente de elementos cada vez, para que cada iteración se vea así: Iteration 1: {A} Iteration 2: {A, B} Iteration 3: {A, B, C} Iteration 4: {A, B, C, D} Iteration 5: {A, B, C, D, E....
28 may. 2020 a las 20:02
val df_read_old = spark.read.format("csv").option("header", "true").option("delimiter","^").schema(old_schema).load("D:\\TESTSCALA\\"+"${lstfile}") // is not able to read file from variable. Cualquier otra forma de hacer esto o me falta algo. Debajo del error mientras el archivo está disponible en ....
27 may. 2020 a las 18:26
Scala 2.12 puede convertir automáticamente una expresión lambda a una interfaz. Por ejemplo, estoy usando: import org.apache.kafka.common.serialization.{Deserializer, Serde, Serializer} import scalapb.GeneratedMessageCompanion class ProtoSerde[A <: scalapb.GeneratedMessage](implicit companion: Gene....
Estoy trabajando en un rasgo gráfico llamado Graphlike donde uso tipos dependientes / asociados para los vértices. Después de resolviendo mis problemas de polimorfismo, mi implementación se ve así: trait Graphlike { type Vertex def subgraph(selectedVertices: Set[Vertex]): this.type } También t....
22 may. 2020 a las 15:12
No estoy seguro de dónde preguntar esto ... (no encaja en la comunidad codeoverflow stackoverflow) Tengo este fragmento de JavaScript de prueba de concepto que realiza un bucle sin bucles for / while usando recursion: (x=>x(x))(x=>{console.log('...'); x(x);}) ¿Existe un one-liner fragmento de scal....
21 may. 2020 a las 16:46
List3 contiene la lista de elementos que son patrones de expresión regular obtenidos de DB. Quiero imprimir Success si alguna de las expresiones regulares coincide con otra Failure val list3 = List(Test("A..C.."), Test("DF....")) val testExpr ="DF1C13" val s3 = list3 .filter(x => x.s.r.pattern.m....
20 may. 2020 a las 15:24
Me gustaría tener un rasgo con dos métodos de la siguiente manera: trait Foo[A] { def bar1(): A def bar2(a: A): Unit } Ahora el problema es que no quiero que la A se propague. Decir: val foos: List[Foo[???]] = ... foos.foreach({ foo => val x = foo.bar1() // stuff foo.bar2(x) }) El tipo A....
19 may. 2020 a las 20:12