Counting 2,129 Big Data & Machine Learning Frameworks, Toolsets, and Examples...
Suggestion? Feedback? Tweet @stkim1

Author
Last Commit
Dec. 9, 2017
Created
Mar. 28, 2015

Frameless

Travis Badge Codecov Badge Maven Badge Gitter Badge

Frameless is a Scala library for working with Spark using more expressive types. It consists of the following modules:

  • dataset for more strongly typed Datasets (supports Spark 2.2.x)
  • cats for using Spark with cats (supports Cats 1.0.0-MF)
  • ml for a more strongly typed Spark ML API based on dataset

The Frameless project and contributors support the Typelevel Code of Conduct and want all its associated channels (e.g. GitHub, Gitter) to be a safe and friendly environment for contributing and learning.

Documentation

Why?

Benefits of using TypedDataset compared to the standard Spark Dataset API:

  • Typesafe columns referencing and expressions
  • Customizable, typesafe encoders
  • Typesafe casting and projections
  • Enhanced type signature for some built-in functions

Quick Start

Frameless is compiled against Scala 2.11.x.

Note that while Frameless is still getting off the ground, it is very possible that breaking changes will be made for at least the next few versions.

To use Frameless in your project add the following in your build.sbt file as needed:

resolvers += Resolver.sonatypeRepo("releases")

val framelessVersion = "0.4.0"

libraryDependencies ++= List(
  "org.typelevel" %% "frameless-cats"      % framelessVersion,
  "org.typelevel" %% "frameless-dataset"   % framelessVersion,
  "org.typelevel" %% "frameless-ml"      % framelessVersion
)

An easy way to bootstrap a Frameless sbt project:

  • if you have Giter8 installed then simply:
g8 imarios/frameless.g8
  • with sbt >= 0.13.13:
sbt new imarios/frameless.g8

Typing sbt console inside your project will bring up a shell with Frameless and all its dependencies loaded (including Spark).

Development

We require at least one sign-off (thumbs-up, +1, or similar) to merge pull requests. The current maintainers (people who can merge pull requests) are:

License

Code is provided under the Apache 2.0 license available at http://opensource.org/licenses/Apache-2.0, as well as in the LICENSE file. This is the same license used as Spark.

Latest Releases
v0.4.0
 Oct. 15 2017
v0.3.0
 May. 25 2017
v0.2.0
 Dec. 7 2016