Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
b345017
Revert "Add summingbird graph library as a zero-dep module" (#1717)
johnynek Sep 23, 2017
a9215e6
remove a few warnings (#1720)
johnynek Sep 24, 2017
1d69d8e
use the latest scala versions (#1719)
johnynek Sep 24, 2017
9848178
Turn on more warts (#1723)
johnynek Sep 24, 2017
dd89eb5
protect against null counters
Sep 12, 2017
7faec33
Adds more tests around the macros for trait edge cases and others (#1…
ianoc-stripe Sep 26, 2017
13e230d
Merge pull request #1726 from tdyas/null_check_counters
ianoc Sep 26, 2017
00bd7d2
merge with develop (#1727)
johnynek Sep 26, 2017
4b6c927
Implement Dagon.toLiteral (#1718)
johnynek Sep 27, 2017
6de1884
Use a null check rather than foreach
johnynek Sep 27, 2017
19c8881
Merge pull request #1729 from twitter/oscar/opt-counters
ianoc Sep 27, 2017
1a52975
Add generic TypedPipe optimization rules (#1724)
johnynek Oct 3, 2017
bdd5dcc
Separate planning from optimization (#1731)
johnynek Oct 9, 2017
2930cd7
Make TypedPipe Optimizations configurable (#1738)
johnynek Oct 21, 2017
d53d06f
Replace function literals with case classes (#1746)
johnynek Oct 21, 2017
e40bf1b
Add DateRange.prepend (opposite direction of extend) (#1748)
FlavSF Oct 22, 2017
e46d410
Extend TextLine with TypedSink (#1752)
snoble Nov 2, 2017
98ea650
Fix AddExplicitFork (#1753)
johnynek Nov 10, 2017
0df1c92
introduce modes for required ordered serialization (#1757)
fwbrasil Dec 15, 2017
65eab97
Make Config an abstract class (#1756)
alexeygorobets Dec 15, 2017
0614b51
introduce scalding-quotation sub-project (#1755)
fwbrasil Dec 18, 2017
f0776e0
Check for success files based on configuration flag (#1758)
moulimukherjee Dec 18, 2017
02baaec
Add a setting to skip null counters
johnynek Dec 19, 2017
37c2de2
Merge pull request #1759 from twitter/oscar/optional-unsafe-counters
ianoc Dec 19, 2017
de3948c
scalding-quotation refactorings (#1761)
fwbrasil Dec 22, 2017
b1317eb
use https for twttr maven
johnynek Jan 25, 2018
d5f7a48
Merge pull request #1766 from twitter/oscar/dev-use-twttr-maven
ianoc Jan 25, 2018
c4fec87
Test to demonstrate planning complexity. (#1765)
erik-stripe Jan 25, 2018
b5521cd
Make TypedPipe abstract class for better binary compatibility
johnynek Jan 25, 2018
85d6a3d
Merge pull request #1769 from twitter/oscar/abstract-class-typedpipe
johnynek Jan 25, 2018
397fd1f
More direct map and filter in typed API
johnynek Jan 27, 2018
c9b582d
Add back some optimizations we had in 0.17
johnynek Jan 28, 2018
2678382
improve optimization rules, actually increase scalacheck test run count
johnynek Jan 28, 2018
75d8059
Merge pull request #1774 from twitter/oscar/add-some-optimizations
ianoc Jan 29, 2018
4c5c920
Merge pull request #1772 from twitter/oscar/cascading-map-filter
ianoc Jan 29, 2018
1a5411d
Add a pure counters API to fix issues with impure Stat based counters…
johnynek Jan 30, 2018
f7e9fb6
merge develop
johnynek Jan 30, 2018
e2084d6
two minor cleanups
johnynek Jan 30, 2018
01d3db9
increase steps back to match planners
johnynek Jan 30, 2018
b1a8a27
Default to forcing before hashJoin on cascading 3
johnynek Jan 31, 2018
ea15e38
Improve HashJoin related rules
johnynek Jan 31, 2018
77296a9
Merge pull request #1778 from twitter/oscar/more-hashjoin-rules
johnynek Jan 31, 2018
b53db14
Add a Config flag to convert all hash to shuffle joins
johnynek Jan 31, 2018
1425c11
bump the number of steps in a test
johnynek Jan 31, 2018
6faeec2
Merge pull request #1777 from twitter/oscar/merge-develop-cascading3-…
johnynek Jan 31, 2018
6b90fa5
Add another failing test for a plan
johnynek Feb 1, 2018
0e22537
simplify failing case
johnynek Feb 1, 2018
63699a9
Add a regression test (currently failing on cascading 3)
johnynek Feb 1, 2018
d10df9f
Merge branch 'oscar/add-a-regression-test' into oscar/merge-develop-c…
johnynek Feb 1, 2018
d76ffe6
bump to cascading 3.3.0-wip-18
johnynek Feb 4, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ project/plugins/lib_managed/
project/plugins/src_managed/
/.idea/
/.idea_modules/
.project
.classpath
.cache-main
.cache-tests
.tmpBin
bin
*.iml
sonatype.sbt
tutorial/data/cofollows.tsv
Expand Down
40 changes: 20 additions & 20 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,63 +27,63 @@ addons:
matrix:
include:
#BASE TESTS
- scala: 2.11.8
env: BUILD="base" TEST_TARGET="scalding-args scalding-date maple"
- scala: 2.11.11
env: BUILD="base" TEST_TARGET="scalding-args scalding-date maple scalding-quotation"
script: "scripts/run_test.sh"

- scala: 2.12.1
env: BUILD="base" TEST_TARGET="scalding-args scalding-date maple"
- scala: 2.12.3
env: BUILD="base" TEST_TARGET="scalding-args scalding-date maple scalding-quotation"
script: "scripts/run_test.sh"

- scala: 2.11.8
- scala: 2.11.11
env: BUILD="base" TEST_TARGET="scalding-avro scalding-hraven scalding-commons scalding-parquet scalding-parquet-cascading scalding-parquet-scrooge scalding-parquet-scrooge-cascading"
script: "scripts/run_test.sh"

- scala: 2.12.1
- scala: 2.12.3
env: BUILD="base" TEST_TARGET="scalding-avro scalding-hraven scalding-commons scalding-parquet scalding-parquet-cascading scalding-parquet-scrooge scalding-parquet-scrooge-cascading"
script: "scripts/run_test.sh"

- scala: 2.11.8
- scala: 2.11.11
env: BUILD="base" TEST_TARGET="scalding-core scalding-jdbc scalding-json scalding-db"
script: "scripts/run_test.sh"

- scala: 2.12.1
- scala: 2.12.3
env: BUILD="base" TEST_TARGET="scalding-core scalding-jdbc scalding-json scalding-db"
script: "scripts/run_test.sh"

- scala: 2.11.8
- scala: 2.11.11
env: BUILD="base" TEST_TARGET="scalding-hadoop-test"
script: "scripts/run_test.sh"

- scala: 2.12.1
- scala: 2.12.3
env: BUILD="base" TEST_TARGET="scalding-hadoop-test"
script: "scripts/run_test.sh"

- scala: 2.11.8
- scala: 2.11.11
env: BUILD="base" TEST_TARGET="scalding-estimators-test"
script: "scripts/run_test.sh"

- scala: 2.12.1
- scala: 2.12.3
env: BUILD="base" TEST_TARGET="scalding-estimators-test"
script: "scripts/run_test.sh"

- scala: 2.11.8
- scala: 2.11.11
env: BUILD="base" TEST_TARGET="scalding-serialization"
script: "scripts/run_test.sh"

- scala: 2.12.1
- scala: 2.12.3
env: BUILD="base" TEST_TARGET="scalding-serialization"
script: "scripts/run_test.sh"

- scala: 2.11.8
- scala: 2.11.11
env: BUILD="base" TEST_TARGET="scalding-thrift-macros"
script: "scripts/run_test.sh"

- scala: 2.12.1
- scala: 2.12.3
env: BUILD="base" TEST_TARGET="scalding-thrift-macros"
script: "scripts/run_test.sh"

- scala: 2.11.8
- scala: 2.11.11
env: BUILD="test tutorials and matrix tutorials and repl" TEST_TARGET="scalding-repl"
script:
- "scripts/run_test.sh"
Expand All @@ -92,7 +92,7 @@ matrix:
- "scripts/build_assembly_no_test.sh scalding-assembly"
- "scripts/test_matrix_tutorials.sh"

- scala: 2.12.1
- scala: 2.12.3
env: BUILD="test tutorials and matrix tutorials and repl" TEST_TARGET="scalding-repl"
script:
- "scripts/run_test.sh"
Expand All @@ -101,7 +101,7 @@ matrix:
- "scripts/build_assembly_no_test.sh scalding-assembly"
- "scripts/test_matrix_tutorials.sh"

- scala: 2.11.8
- scala: 2.11.11
env: BUILD="test repl and typed tutorials and microsite"
script:
- ./sbt ++$TRAVIS_SCALA_VERSION clean docs/makeMicrosite
Expand All @@ -112,7 +112,7 @@ matrix:
- "scripts/build_assembly_no_test.sh execution-tutorial"
- "scripts/test_execution_tutorial.sh"

- scala: 2.12.1
- scala: 2.12.3
env: BUILD="test repl and typed tutorials"
script:
- "scripts/build_assembly_no_test.sh scalding-repl"
Expand Down
25 changes: 18 additions & 7 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ val avroVersion = "1.7.4"
val bijectionVersion = "0.9.5"
val cascadingAvroVersion = "2.1.2"
val chillVersion = "0.8.4"
val dagonVersion = "0.2.2"
val elephantbirdVersion = "4.15"
val hadoopLzoVersion = "0.4.19"
val hadoopVersion = "2.6.0"
Expand All @@ -47,17 +48,19 @@ val printDependencyClasspath = taskKey[Unit]("Prints location of the dependencie
val sharedSettings = assemblySettings ++ scalariformSettings ++ Seq(
organization := "com.twitter",

scalaVersion := "2.11.8",
scalaVersion := "2.11.11",

crossScalaVersions := Seq(scalaVersion.value, "2.12.1"),
crossScalaVersions := Seq(scalaVersion.value, "2.12.3"),

ScalariformKeys.preferences := formattingPreferences,

javacOptions ++= Seq("-source", "1.6", "-target", "1.6"),

javacOptions in doc := Seq("-source", "1.6"),

wartremoverErrors in (Compile, compile) += Wart.OptionPartial,
wartremoverErrors in (Compile, compile) ++= Seq(
Wart.OptionPartial, Wart.ExplicitImplicitTypes, Wart.LeakingSealed,
Wart.Return, Wart.EitherProjectionPartial),

libraryDependencies ++= Seq(
"org.mockito" % "mockito-all" % "1.8.5" % "test",
Expand Down Expand Up @@ -214,6 +217,7 @@ lazy val scalding = Project(
.aggregate(
scaldingArgs,
scaldingDate,
scaldingQuotation,
scaldingCore,
scaldingCommons,
scaldingAvro,
Expand Down Expand Up @@ -242,6 +246,7 @@ lazy val scaldingAssembly = Project(
.aggregate(
scaldingArgs,
scaldingDate,
scaldingQuotation,
scaldingCore,
scaldingCommons,
scaldingAvro,
Expand Down Expand Up @@ -298,10 +303,8 @@ lazy val scaldingArgs = module("args")

lazy val scaldingDate = module("date")

lazy val scaldingGraph = module("graph")

lazy val cascadingVersion =
System.getenv.asScala.getOrElse("SCALDING_CASCADING_VERSION", "3.2.1")
System.getenv.asScala.getOrElse("SCALDING_CASCADING_VERSION", "3.3.0-wip-18")

lazy val cascadingJDBCVersion =
System.getenv.asScala.getOrElse("SCALDING_CASCADING_JDBC_VERSION", "3.0.0-wip-127")
Expand All @@ -316,11 +319,19 @@ lazy val scaldingBenchmarks = module("benchmarks")
parallelExecution in Test := false
).dependsOn(scaldingCore)

lazy val scaldingQuotation = module("quotation").settings(
libraryDependencies ++= Seq(
"org.scala-lang" % "scala-reflect" % scalaVersion.value % "provided",
"org.scala-lang" % "scala-compiler" % scalaVersion.value % "provided"
)
)

lazy val scaldingCore = module("core").settings(
libraryDependencies ++= Seq(
"cascading" % "cascading-core" % cascadingVersion,
"cascading" % "cascading-hadoop" % cascadingVersion,
"cascading" % "cascading-local" % cascadingVersion,
"com.stripe" %% "dagon-core" % dagonVersion,
"com.twitter" % "chill-hadoop" % chillVersion,
"com.twitter" % "chill-java" % chillVersion,
"com.twitter" %% "chill-bijection" % chillVersion,
Expand All @@ -337,7 +348,7 @@ lazy val scaldingCore = module("core").settings(
"org.slf4j" % "slf4j-api" % slf4jVersion,
"org.slf4j" % "slf4j-log4j12" % slf4jVersion % "provided"),
addCompilerPlugin("org.scalamacros" % "paradise" % paradiseVersion cross CrossVersion.full)
).dependsOn(scaldingArgs, scaldingDate, scaldingSerialization, maple)
).dependsOn(scaldingArgs, scaldingDate, scaldingSerialization, maple, scaldingQuotation)

lazy val scaldingCommons = module("commons").settings(
libraryDependencies ++= Seq(
Expand Down
2 changes: 1 addition & 1 deletion project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.6.2")
addSbtPlugin("com.typesafe.sbt" % "sbt-scalariform" % "1.3.0")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.5.0")
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.0")
addSbtPlugin("org.wartremover" % "sbt-wartremover" % "2.0.2")
addSbtPlugin("org.wartremover" % "sbt-wartremover" % "2.1.1")
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ abstract class DailySuffixLzoProtobuf[T <: Message: Manifest](prefix: String, da

abstract class DailySuffixMostRecentLzoProtobuf[T <: Message: Manifest](prefix: String, dateRange: DateRange)
extends DailySuffixMostRecentSource(prefix, dateRange) with LzoProtobuf[T] {
override def column = manifest[T].erasure
override def column = manifest[T].runtimeClass
}

abstract class DailySuffixLzoThrift[T <: TBase[_, _]: Manifest](prefix: String, dateRange: DateRange)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,22 +127,20 @@ class VersionedKeyValSource[K, V](val path: String, val sourceVersion: Option[Lo
}

def sinkExists(mode: Mode): Boolean =
sinkVersion match {
case Some(version) =>
mode match {
case Test(buffers) =>
buffers(this) map { !_.isEmpty } getOrElse false
sinkVersion.exists { version =>
mode match {
case Test(buffers) =>
buffers(this) map { !_.isEmpty } getOrElse false

case HadoopTest(conf, buffers) =>
buffers(this) map { !_.isEmpty } getOrElse false
case HadoopTest(conf, buffers) =>
buffers(this) map { !_.isEmpty } getOrElse false

case m: HadoopMode =>
val conf = new JobConf(m.jobConf)
val store = sink.getStore(conf)
store.hasVersion(version)
case _ => sys.error(s"Unknown mode $mode")
}
case None => false
case m: HadoopMode =>
val conf = new JobConf(m.jobConf)
val store = sink.getStore(conf)
store.hasVersion(version)
case _ => sys.error(s"Unknown mode $mode")
}
}

override def createTap(readOrWrite: AccessMode)(implicit mode: Mode): Tap[_, _, _] = {
Expand Down
2 changes: 1 addition & 1 deletion scalding-core/src/main/scala/com/twitter/package.scala
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ package object scalding {
val scaldingVersion: String = "0.17.2"

object RichPathFilter {
implicit def toRichPathFilter(f: PathFilter) = new RichPathFilter(f)
implicit def toRichPathFilter(f: PathFilter): RichPathFilter = new RichPathFilter(f)
}

class RichPathFilter(f: PathFilter) {
Expand Down
10 changes: 5 additions & 5 deletions scalding-core/src/main/scala/com/twitter/scalding/ArgHelp.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ sealed trait DescribedArg {
def description: String
}

case class RequiredArg(key: String, description: String) extends DescribedArg
case class OptionalArg(key: String, description: String) extends DescribedArg
case class ListArg(key: String, description: String) extends DescribedArg
case class BooleanArg(key: String, description: String) extends DescribedArg
final case class RequiredArg(key: String, description: String) extends DescribedArg
final case class OptionalArg(key: String, description: String) extends DescribedArg
final case class ListArg(key: String, description: String) extends DescribedArg
final case class BooleanArg(key: String, description: String) extends DescribedArg

class HelpException extends RuntimeException("User asked for help")
class DescriptionValidationException(msg: String) extends RuntimeException(msg)
Expand Down Expand Up @@ -119,4 +119,4 @@ trait ArgHelper {
}
}

object ArgHelp extends ArgHelper
object ArgHelp extends ArgHelper
Loading