Aws Glue Etl локально - проблема с использованием scala - PullRequest
0 голосов
/ 25 апреля 2019

asJava не является членом Map [String, String]

после создания моей конечной точки и локального запуска zeppelin, когда я начинаю кодировать с помощью scala и выполняю свой код, появляется следующая ошибка:

import org.apache.spark.SparkContext
<console>:288: error: value asJava is not a member of Map[String,String]
               Job.init(args("JOB_NAME"), glueContext, args.asJava)

Вот как выглядит мой код:

%spark
import com.amazonaws.services.glue.ChoiceOption
import com.amazonaws.services.glue.GlueContext
import com.amazonaws.services.glue.DynamicRecord
import com.amazonaws.services.glue.MappingSpec
import com.amazonaws.services.glue.ResolveSpec
import com.amazonaws.services.glue.errors.CallSite
import com.amazonaws.services.glue.util.GlueArgParser
import com.amazonaws.services.glue.util.Job
import com.amazonaws.services.glue.util.JsonOptions
import com.amazonaws.services.glue.types.StringNode
import org.apache.spark.SparkContext

object DataCleaningLambda {
    def main(sysArgs: Array[String]): Unit = {
        val spark: SparkContext = new SparkContext()
        val glueContext: GlueContext = new GlueContext(sc)
        val args = GlueArgParser.getResolvedOptions(sysArgs, Seq("JOB_NAME").toArray)
        Job.init(args("JOB_NAME"), glueContext, args.asJava)
        val datasource0 = glueContext.getCatalogSource(database = "mydatabase", tableName = "my_table", redshiftTmpDir = "", transformationContext = "datasource0").getDynamicFrame()
        val medicareDf = datasource0.toDF()
        println("here")
        Job.commit()
    } 
}

должен напечатать сообщение "здесь", но я не вижу, см. Изображение

enter image description here

...