Estructuras de datos en Scala

 scala_logoRDD (Resilient Distributed Dataset)

  • Datos no estructurados, ejemplo: binarios, text streaming.
  • Utiliza acciones y transformaciones de bajo nivel
  • No soporta serialización Encoders.
  • No de un esquema ni formato de columna.
  • Proporciona serguridad de tipo en tiempo de compilación.

 

DataFrames – DataFrames

  • Datos estructurados (entradas RDBMS) o semi-estructurados (json, csv)
  • Necesita ejecutar consultas hive
  • Mayor rendimiento que RDDs
  • Proporciona un esquema a los datos.
  • Proporciona orientación a objetos

 

DataSets – Sets

  • Datos estructurados (entradas RDBMS) o semi-estructurados (json, csv)
  • API con un tipado fuerte de datos.
  • Similar rendimiento que DataFrames, ya que usa el mismo mecanismo de optimizador de consultas Catalyst.
  • Proporcionar programación orientada a objetos y la seguridad de tipo de tiempo de compilación de los RDDs.

 

Listas – Lists

  • Lista de datos tipada a un tipo de datos.

Más información sobre listas

 

Arrays

  • Arrays de datos tipada a un tipo de datos.

Más información sobre listas

 

Vectores – Vectors

  • Vector de datos

 

Filas – Row

  • Define files de otras estructuras de datos más complejas

 

Diccionarios – Maps

  • Colecciones de datos clave-valor.
  • Se puede recuperar cualquier valor en función de su clave.

Tuplas – Tuples

  • Puede contener datos de diferentes tipos a diferencia de las listas o los arrays.

 

Opciones – Options

  • Proporciona un contenedor para cero o un elemento de un tipo determinado.

 

Iteradores – Iterators

  • No es una colección de datos, sino una forma de acceder a los elementos de una colección uno por uno.

Otros artículos que pueden ser de interés:

Autor: Diego Calvo