Skip to content
This repository has been archived by the owner on Dec 20, 2018. It is now read-only.
/ quark Public archive

Quark: An Embedded DSL for Quasar Analytics

License

Notifications You must be signed in to change notification settings

slamdata/quark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quark Analytics DSL for Quasar

Quark is an embedded DSL for the Quasar Analytics compiler.

With a syntax reminiscent of Spark, Quark allows developers to easily create complex workflows on semi-structured data that can be compiled and deployed to any target infrastructure supported by the Quasar Analytics compiler.

In contrast to Spark, Quark is specialized for semi-structured data, rather just structured data. In addition, Quark does not serialize any code and has a purely-functional, declarative interface.

On the flip side, Quark does not permit arbitrary user-defined code, but rather carefully limits the space of operations to those supported by the Quasar Analytics compiler.

Build

Usage

import quasar.quark._

object Example {
  def main(args: Array[String]): Unit = {
    val dataset = Dataset.load("/prod/profiles")

    val averageAge = dataset.groupBy(_.country[Str]).map(_.age[Int]).reduceBy(_.average)

    val stream = averageAge.evalTo("/prod/profiles_2")
  }
}

About

Quark: An Embedded DSL for Quasar Analytics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published