Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A Scala API for Cascading

License

NotificationsYou must be signed in to change notification settings

twitter/scalding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Build statusCoverage StatusLatest versionChat

Scalding is a Scala library that makes it easy to specify Hadoop MapReduce jobs. Scalding is built on top ofCascading, a Java library that abstracts away low-level Hadoop details. Scalding is comparable toPig, but offers tight integration with Scala, bringing advantages of Scala to your MapReduce jobs.

Scalding Logo

Word Count

Hadoop is a distributed system for counting words. Here is how it's done in Scalding.

packagecom.twitter.scalding.examplesimportcom.twitter.scalding._importcom.twitter.scalding.source.TypedTextclassWordCountJob(args:Args)extendsJob(args) {TypedPipe.from(TextLine(args("input")))    .flatMap { line=> tokenize(line) }    .groupBy { word=> word }// use each word for a key    .size// in each group, get the size    .write(TypedText.tsv[(String,Long)](args("output")))// Split a piece of text into individual words.deftokenize(text:String):Array[String]= {// Lowercase each word and remove punctuation.    text.toLowerCase.replaceAll("[^a-zA-Z0-9\\s]","").split("\\s+")  }}

Notice that thetokenize function, which is standard Scala, integrates naturally with the rest of the MapReduce job. This is a very powerful feature of Scalding. (Compare it to the use of UDFs in Pig.)

You can find more example code underexamples/. If you're interested in comparing Scalding to other languages, see ourRosetta Code page, which has several MapReduce tasks in Scalding and other frameworks (e.g., Pig and Hadoop Streaming).

Documentation and Getting Started

Please feel free to use the beautifulScalding logo artwork anywhere.

Contact

For user questions or scalding development (internals, extending, release planning):https://groups.google.com/forum/#!forum/scalding-dev (Google search also works as a first step)

In the remote possibility that there exist bugs in this code, please report them to:https://github.com/twitter/scalding/issues

Follow@Scalding on Twitter for updates.

Chat:Gitter

Get Involved + Code of Conduct

Pull requests and bug reports are always welcome!

We use a lightweight form of project governence inspired by the one used by Apache projects.Please seeContributing and Committership for our code of conduct and our pull request review process.The TL;DR is send us a pull request, iterate on the feedback + discussion, and get a +1 from aCommitter in order to get your PR accepted.

The current list of active committers (who can +1 a pull request) can be found here:Committers

A list of contributors to the project can be found here:Contributors

Building

There is a script (called sbt) in the root that loads the correct sbt version to build:

  1. ./sbt update (takes 2 minutes or more)
  2. ./sbt test
  3. ./sbt assembly (needed to make the jar used by the scald.rb script)

The test suite takes a while to run. When you're in sbt, here's a shortcut to run just one test:

> test-only com.twitter.scalding.FileSourceTest

Please refer toFAQ page if you encounter problems when using sbt.

We use Github Actions to verify the build:Build Status

We useCoveralls for code coverage results:Coverage Status

Scalding modules are available from maven central.

The current groupid and version for all modules is, respectively,"com.twitter" and0.17.2.

Current published artifacts are

  • scalding-core_2.11,scalding-core_2.12
  • scalding-args_2.11,scalding-args_2.12
  • scalding-date_2.11,scalding-date_2.12
  • scalding-commons_2.11,scalding-commons_2.12
  • scalding-avro_2.11,scalding-avro_2.12
  • scalding-parquet_2.11,scalding-parquet_2.12
  • scalding-repl_2.11,scalding-repl_2.12

The suffix denotes the scala version.

Adopters

  • Ebay
  • Etsy
  • Sharethrough
  • Snowplow Analytics
  • Soundcloud
  • Twitter

To see a full list of users or to add yourself, see thewiki

Authors:

Thanks for assistance and contributions:

A full list ofcontributors can be found on GitHub.

License

Copyright 2016 Twitter, Inc.

Licensed under theApache License, Version 2.0


[8]ページ先頭

©2009-2025 Movatter.jp