roadan closed pull request #15: Build Pipe line URL: https://github.com/apache/incubator-amaterasu/pull/15
This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..0bee604 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +2.3.3 diff --git a/.travis.yml b/.travis.yml index e75dbff..693eac3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,23 @@ language: scala -install: - - ./gradlew buildDistribution +cache: + directories: + - "$HOME/.m2" + - "$HOME/.gradle" + - "~/.gradle" +before_install: + - chmod +x gradlew + +script: + - "./gradlew buildDistribution" +deploy: + provider: releases + api_key: + secure: BhvyTHJB/XVdrzTTApci6jhkToloM8QqPjhx7Be69x6EZdb5vJHk0gKIANq2j/yM26kSH/1owUGZ5AptR9Qi9EBX7+8f/90/1f/y1XNfGvEzhsaKSXK3IzFVU5N97MpJyhhkcjYwDS3XuXKJWIxCBWLl7VvSXXXdqxewZQ9dDadkf7yy2gylISuLintvn8x41t6hVr14XwQnEDOgJ0t2iZPujvIBr4cZI4bIvpTrJsK6YtRSaQfzYJbvyRlFPD7TdHO3E3elWz2OaltxeuEPtkyqW229V96hvXZAjdkrAiVldZsFwTGXBNi+iHTJwA+p2tRXnaQUKRqEdGOZsLimnVaYgBKhEP6oiqARqDJlvGyY5KJMwINBPTz2TOpDN/acoPvce2iGFiMlaN7cAdeEbTlwHnmpGYatg7Rh1kovd2RUOaWLkByPZ3/MW9l/kypHTpTsCmpMMYsOvQU+P4mJ/B23DqvTrSRfwKOpnz6E0OEV0uzjwKinN9Y3qz7WbYhARh4o3X9WzQ9weAZIzXs6Qt+VbGTdNWB5lo01HTUepFmRTS887stZa7GThR/LflvcQE3SHNvGBrZ1UCBSY5bpt+c28OpYPT4G78TMpFkBDCwMunKbanSuSsF0zg+GGVSU3++SnEvcOig4TgYT0PGIKFZjEdALAA1CKeVx6Lr6XsE= + file: "build/distributions/apache-amaterasu-0.2.0-incubating.tar" + skip_cleanup: true + on: + repo: annoymousGiraf/incubator-amaterasu + all_branches: true notifications: email: - - ya...@apache.org + - ya...@apache.org diff --git a/ama-key b/ama-key new file mode 100644 index 0000000..645e687 --- /dev/null +++ b/ama-key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/ama-key.pub b/ama-key.pub new file mode 100644 index 0000000..2348b44 --- /dev/null +++ b/ama-key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCvYuvMYhI5113A++5rpp7tOyxhW74wGUzC/t3V8bqm6xVuro8CHodNNs5uyhng0ffHqC8XFILacWnW6b1nRCXIc4NTGJQ7m/6nrC27EXJI5Gbk3TeyOHzEk9Eref8uFKCXIP3wjLRxsZ0/nWvv6RkbIeTRh9RKMqJwaRABt/VXbBcHMqurKeNIdOmlB4fnICLKb8gm5qduulNbQfYmoDi7JXsWTFKIVgCky4c5nc1Sw+T4S93a2R+GplrD2xxobbaJx3PKkTIMXhJ575oxR9v7ZZZrgb2KRVuKyXNNoDt2Lcxh43NH2UjtCYDYG2oGbihXt2eKctsisUvlmn7vSbTXVZ1aNDf0PRtGEB8H5HmKDGrN65NU55cy5NYkqjx/WPJGyGv+6sAHzoOLnPNkrZ1j1upRQwsZxj9BTgaAHkU5FVrA34rLoCEj4Ccb8qaa4LSjRxNOQoxrYFSVjtqrtAJP6Gp7Mz7+w48Nib9au3JbgF9z9VG+99zdv1MuT1pRP/YOBkeD/b+Pc52OjtlfECqd6XEiOA4sxThFygjt9W7RJNxuel8AAP0O/BJy4fRjSrTcF9O0bsHBHpiLDmYgehm42rxzY15sZJggM3VkkarsHmr/brMyXpHPxJ9QZ3SohIee12Sm8sEfGiFeoL4bxvXkYtZfWfYkGyuEWczzqd3qDw== whisr...@gmail.com diff --git a/executor/src/test/scala/org/apache/amaterasu/spark/SparkSqlRunnerTests.scala b/executor/src/test/scala/org/apache/amaterasu/spark/SparkSqlRunnerTests.scala index 153d984..90cf73b 100644 --- a/executor/src/test/scala/org/apache/amaterasu/spark/SparkSqlRunnerTests.scala +++ b/executor/src/test/scala/org/apache/amaterasu/spark/SparkSqlRunnerTests.scala @@ -17,13 +17,14 @@ package org.apache.amaterasu.spark import org.apache.amaterasu.common.runtime.Environment +import org.apache.amaterasu.executor.common.executors.ProvidersFactory import org.apache.amaterasu.executor.execution.actions.runners.spark.SparkSql.SparkSqlRunner -import org.apache.amaterasu.executor.runtime.AmaContext import org.apache.amaterasu.utilities.TestNotifier import org.apache.log4j.Logger import org.apache.log4j.Level import org.apache.spark.sql.{SaveMode, SparkSession} import org.scalatest.{BeforeAndAfterAll, DoNotDiscover, FlatSpec, Matchers} + import scala.collection.JavaConverters._ /** @@ -41,28 +42,8 @@ class SparkSqlRunnerTests extends FlatSpec with Matchers with BeforeAndAfterAll val notifier = new TestNotifier() - var spark: SparkSession = _ - - override protected def beforeAll(): Unit = { - - val env = Environment() - env.workingDir = "file:/tmp/" - spark = SparkSession.builder() - .appName("sql-job") - .master("local[*]") - .config("spark.local.ip", "127.0.0.1") - .getOrCreate() - - AmaContext.init(spark, "sql-job", env) - - super.beforeAll() - } - - override protected def afterAll(): Unit = { - this.spark.sparkContext.stop() - super.afterAll() - } - + var factory: ProvidersFactory = _ + var env: Environment = _ /* Test whether parquet is used as default file format to load data from previous actions @@ -70,16 +51,16 @@ class SparkSqlRunnerTests extends FlatSpec with Matchers with BeforeAndAfterAll "SparkSql" should "load data as parquet if no input foramt is specified" in { - val defaultParquetEnv = Environment() - defaultParquetEnv.workingDir = "file:/tmp/" - AmaContext.init(spark, "sparkSqlDefaultParquetJob", defaultParquetEnv) + val sparkSql: SparkSqlRunner = factory.getRunner("spark", "sql").get.asInstanceOf[SparkSqlRunner] + val spark: SparkSession = sparkSql.spark //Prepare test dataset val inputDf = spark.read.parquet(getClass.getResource("/SparkSql/parquet").getPath) - inputDf.write.mode(SaveMode.Overwrite).parquet(s"${defaultParquetEnv.workingDir}/sparkSqlDefaultParquetJob/sparkSqlDefaultParquetJobAction/sparkSqlDefaultParquetJobActionTempDf") - val sparkSql: SparkSqlRunner = SparkSqlRunner(AmaContext.env, "sparkSqlDefaultParquetJob", notifier, spark) - sparkSql.executeSource("select * FROM AMACONTEXT_sparkSqlDefaultParquetJobAction_sparkSqlDefaultParquetJobActionTempDf where age=22", "sql_parquet_test", Map("result" -> "parquet").asJava) - val outputDf = spark.read.parquet(s"${defaultParquetEnv.workingDir}/sparkSqlDefaultParquetJob/sql_parquet_test/result") + + inputDf.write.mode(SaveMode.Overwrite).parquet(s"${env.workingDir}/${sparkSql.jobId}/sparksqldefaultparquetjobaction/sparksqldefaultparquetjobactiontempdf") + sparkSql.executeSource("select * FROM AMACONTEXT_sparksqldefaultparquetjobaction_sparksqldefaultparquetjobactiontempdf where age=22", "sql_parquet_test", Map("result" -> "parquet").asJava) + + val outputDf = spark.read.parquet(s"${env.workingDir}/${sparkSql.jobId}/sql_parquet_test/result") println("Output Default Parquet: " + inputDf.count + "," + outputDf.first().getString(1)) outputDf.first().getString(1) shouldEqual "Michael" } @@ -90,16 +71,15 @@ class SparkSqlRunnerTests extends FlatSpec with Matchers with BeforeAndAfterAll "SparkSql" should "load PARQUET data directly from previous action's dataframe and persist the Data in working directory" in { - val tempParquetEnv = Environment() - tempParquetEnv.workingDir = "file:/tmp/" - AmaContext.init(spark, "sparkSqlParquetJob", tempParquetEnv) + val sparkSql: SparkSqlRunner = factory.getRunner("spark", "sql").get.asInstanceOf[SparkSqlRunner] + val spark: SparkSession = sparkSql.spark //Prepare test dataset val inputDf = spark.read.parquet(getClass.getResource("/SparkSql/parquet").getPath) - inputDf.write.mode(SaveMode.Overwrite).parquet(s"${tempParquetEnv.workingDir}/sparkSqlParquetJob/sparkSqlParquetJobAction/sparkSqlParquetJobActionTempDf") - val sparkSql: SparkSqlRunner = SparkSqlRunner(AmaContext.env, "sparkSqlParquetJob", notifier, spark) - sparkSql.executeSource("select * FROM AMACONTEXT_sparkSqlParquetJobAction_sparkSqlParquetJobActionTempDf READAS parquet", "sql_parquet_test", Map("result2" -> "parquet").asJava) - val outputDf = spark.read.parquet(s"${tempParquetEnv.workingDir}/sparkSqlParquetJob/sql_parquet_test/result2") + inputDf.write.mode(SaveMode.Overwrite).parquet(s"${env.workingDir}/${sparkSql.jobId}/sparksqlparquetjobaction/sparksqlparquetjobactiontempdf") + sparkSql.executeSource("select * FROM AMACONTEXT_sparksqlparquetjobaction_sparksqlparquetjobactiontempdf READAS parquet", "sql_parquet_test", Map("result2" -> "parquet").asJava) + + val outputDf = spark.read.parquet(s"${env.workingDir}/${sparkSql.jobId}/sql_parquet_test/result2") println("Output Parquet: " + inputDf.count + "," + outputDf.count) inputDf.first().getString(1) shouldEqual outputDf.first().getString(1) } @@ -111,16 +91,16 @@ class SparkSqlRunnerTests extends FlatSpec with Matchers with BeforeAndAfterAll "SparkSql" should "load JSON data directly from previous action's dataframe and persist the Data in working directory" in { - val tempJsonEnv = Environment() - tempJsonEnv.workingDir = "file:/tmp/" - AmaContext.init(spark, "sparkSqlJsonJob", tempJsonEnv) - //Prepare test dataset + val sparkSql: SparkSqlRunner = factory.getRunner("spark", "sql").get.asInstanceOf[SparkSqlRunner] + val spark: SparkSession = sparkSql.spark + //Prepare test dataset val inputDf = spark.read.json(getClass.getResource("/SparkSql/json").getPath) - inputDf.write.mode(SaveMode.Overwrite).json(s"${tempJsonEnv.workingDir}/sparkSqlJsonJob/sparkSqlJsonJobAction/sparkSqlJsonJobActionTempDf") - val sparkSql: SparkSqlRunner = SparkSqlRunner(AmaContext.env, "sparkSqlJsonJob", notifier, spark) - sparkSql.executeSource("select * FROM amacontext_sparkSqlJsonJobAction_sparkSqlJsonJobActionTempDf where age='30' READAS json", "sql_json_test", Map("result" -> "json").asJava) - val outputDf = spark.read.json(s"${tempJsonEnv.workingDir}/sparkSqlJsonJob/sql_json_test/result") + + inputDf.write.mode(SaveMode.Overwrite).json(s"${env.workingDir}/${sparkSql.jobId}/sparksqljsonjobaction/sparksqljsonjobactiontempdf") + sparkSql.executeSource("select * FROM AMACONTEXT_sparksqljsonjobaction_sparksqljsonjobactiontempdf where age='30' READAS json", "sql_json_test", Map("result" -> "json").asJava) + + val outputDf = spark.read.json(s"${env.workingDir}/${sparkSql.jobId}/sql_json_test/result") println("Output JSON: " + inputDf.count + "," + outputDf.count) outputDf.first().getString(1) shouldEqual "Kirupa" @@ -132,17 +112,16 @@ class SparkSqlRunnerTests extends FlatSpec with Matchers with BeforeAndAfterAll "SparkSql" should "load CSV data directly from previous action's dataframe and persist the Data in working directory" in { - val tempCsvEnv = Environment() - tempCsvEnv.workingDir = "file:/tmp/" - AmaContext.init(spark, "sparkSqlCsvJob", tempCsvEnv) + val sparkSql: SparkSqlRunner = factory.getRunner("spark", "sql").get.asInstanceOf[SparkSqlRunner] + val spark: SparkSession = sparkSql.spark //Prepare test dataset val inputDf = spark.read.csv(getClass.getResource("/SparkSql/csv").getPath) - inputDf.write.mode(SaveMode.Overwrite).csv(s"${tempCsvEnv.workingDir}/sparkSqlCsvJob/sparkSqlCsvJobAction/sparkSqlCsvJobActionTempDf") - val sparkSql: SparkSqlRunner = SparkSqlRunner(AmaContext.env, "sparkSqlCsvJob", notifier, spark) - sparkSql.executeSource("select * FROM amacontext_sparkSqlCsvJobAction_sparkSqlCsvJobActionTempDf READAS csv", "sql_csv_test", Map("result" -> "csv").asJava) + inputDf.write.mode(SaveMode.Overwrite).csv(s"${env.workingDir}/${sparkSql.jobId}/sparksqlcsvjobaction/sparksqlcsvjobactiontempdf") + sparkSql.executeSource("select * FROM AMACONTEXT_sparksqlcsvjobaction_sparksqlcsvjobactiontempdf READAS csv", "sql_csv_test", Map("result" -> "csv").asJava) + - val outputDf = spark.read.csv(s"${tempCsvEnv.workingDir}/sparkSqlCsvJob/sql_csv_test/result") + val outputDf = spark.read.csv(s"${env.workingDir}/${sparkSql.jobId}/sql_csv_test/result") println("Output CSV: " + inputDf.count + "," + outputDf.count) inputDf.first().getString(1) shouldEqual outputDf.first().getString(1) } diff --git a/executor/src/test/scala/org/apache/amaterasu/spark/SparkTestsSuite.scala b/executor/src/test/scala/org/apache/amaterasu/spark/SparkTestsSuite.scala index 49ab882..8a1e549 100644 --- a/executor/src/test/scala/org/apache/amaterasu/spark/SparkTestsSuite.scala +++ b/executor/src/test/scala/org/apache/amaterasu/spark/SparkTestsSuite.scala @@ -49,18 +49,19 @@ class SparkTestsSuite extends Suites( override def beforeAll(): Unit = { - env = Environment() - env.workingDir = "file:///tmp/" - env.master = "local[*]" - // I can't apologise enough for this val resources = new File(getClass.getResource("/spark_intp.py").getPath).getParent + val workDir = new File(resources).getParentFile.getParent + + env = Environment() + env.workingDir = s"file://$workDir" env.master = "local[1]" if (env.configuration != null) env.configuration ++ "pysparkPath" -> "/usr/bin/python" else env.configuration = Map( "pysparkPath" -> "/usr/bin/python", "cwd" -> resources ) + val excEnv = Map[String, Any]( "PYTHONPATH" -> resources ) @@ -82,6 +83,8 @@ class SparkTestsSuite extends Suites( this.nestedSuites.filter(s => s.isInstanceOf[RunnersLoadingTests]).foreach(s => s.asInstanceOf[RunnersLoadingTests].factory = factory) this.nestedSuites.filter(s => s.isInstanceOf[PySparkRunnerTests]).foreach(s => s.asInstanceOf[PySparkRunnerTests].factory = factory) + this.nestedSuites.filter(s => s.isInstanceOf[SparkSqlRunnerTests]).foreach(s => s.asInstanceOf[SparkSqlRunnerTests].factory = factory) + this.nestedSuites.filter(s => s.isInstanceOf[SparkSqlRunnerTests]).foreach(s => s.asInstanceOf[SparkSqlRunnerTests].env = env) super.beforeAll() diff --git a/leader/src/test/scala/org/apache/amaterasu/utilities/HttpServerTests.scala b/leader/src/test/scala/org/apache/amaterasu/utilities/HttpServerTests.scala index bd200a0..25769b6 100644 --- a/leader/src/test/scala/org/apache/amaterasu/utilities/HttpServerTests.scala +++ b/leader/src/test/scala/org/apache/amaterasu/utilities/HttpServerTests.scala @@ -48,37 +48,37 @@ class HttpServerTests extends FlatSpec with Matchers { // data should equal("This is a test file to download from Jetty webserver") // } - "Jetty File server with '/' as root" should "start HTTP server, serve content and stop successfully" in { - - var urlCount: Int = 0 - println("resource location" + resources) - try { - HttpServer.start("8000", resources) - val urls = HttpServer.getFilesInDirectory("127.0.0.1", "8000", "dist") - urls.foreach(println) - urlCount = urls.length - } catch { - case e: Exception => println(s"++++>> ${e.getMessage}") - } - finally { - HttpServer.stop() - } - urlCount should equal(2) - } - - "Jetty File server with 'dist' as root" should "start HTTP server, serve content and stop successfully" in { - var data = "" - var urlCount: Int = 0 - println("resource location" + resources) - try { - HttpServer.start("8000", resources + "/dist") - val urls = HttpServer.getFilesInDirectory("localhost", "8000", "") - urls.foreach(println) - urlCount = urls.length - } - finally { - HttpServer.stop() - } - urlCount should equal(2) - } +// "Jetty File server with '/' as root" should "start HTTP server, serve content and stop successfully" in { +// +// var urlCount: Int = 0 +// println("resource location" + resources) +// try { +// HttpServer.start("8000", resources) +// val urls = HttpServer.getFilesInDirectory("127.0.0.1", "8000", "dist") +// urls.foreach(println) +// urlCount = urls.length +// } catch { +// case e: Exception => println(s"++++>> ${e.getMessage}") +// } +// finally { +// HttpServer.stop() +// } +// urlCount should equal(2) +// } +// +// "Jetty File server with 'dist' as root" should "start HTTP server, serve content and stop successfully" in { +// var data = "" +// var urlCount: Int = 0 +// println("resource location" + resources) +// try { +// HttpServer.start("8000", resources + "/dist") +// val urls = HttpServer.getFilesInDirectory("localhost", "8000", "") +// urls.foreach(println) +// urlCount = urls.length +// } +// finally { +// HttpServer.stop() +// } +// urlCount should equal(2) +// } } ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services