在0.15.0版本中找不到烫伤写入方法

时间:2015-12-15 08:35:58

标签: scala scalding

刚开始实施简单的烫伤启动计划。随后的this文档以供参考。在第一个示例中,它无法将write方法解析为语法。

import com.twitter.scalding._
class WordCountJob(args: Args) extends Job(args) {
  TypedPipe.from(TextLine(args("input")))
    .flatMap { line => line.split("""\s+""") }
    .groupBy { word => word }
    .size
    .write(TypedTsv(args("output")))
}

build.sbt文件和库依赖项

name := "SampleScaldingProject"

version := "1.0"

scalaVersion := "2.10.4"

resolvers ++= Seq( "maven.org" at "http://repo2.maven.org/maven2",
  "conjars.org" at "http://conjars.org/repo",
  "codahale.com" at "http://repo.codahale.com" )

libraryDependencies ++= Seq("org.scalatest" % "scalatest_2.10" % "2.1.0" % "test",
"com.twitter" % "scalding-core_2.10" % "0.15.0"
)

1 个答案:

答案 0 :(得分:0)

显然版本已更改,如果你看一下github上的WordCountJob.scala版本与你的不同:

package com.twitter.scalding.examples

import com.twitter.scalding._

class WordCountJob(args: Args) extends Job(args) {
  TypedPipe.from(TextLine(args("input")))
    .flatMap { line => line.split("\\s+") }
    .map { word => (word, 1L) }
    .sumByKey
    // The compiler will enforce the type coming out of the sumByKey is the same as the type we have for our sink
    .write(TypedTsv[(String, Long)](args("output")))
}

如果您查看API Scaladocs,则.size阶段会返回UnsortedGrouped[K, Long],并且此特征不具有write方法。 所以我假设API发生了变化。

我希望这会有所帮助。 问候。