in GlueCustomConnectors/gluescripts/withoutConnection/SparkSnowflake.scala [6:33]
def main(sysArgs: Array[String]) {
val conf = new SparkConf().setAppName("SparkSnowflake").setMaster("local")
val spark: SparkContext = new SparkContext(conf)
val glueContext: GlueContext = new GlueContext(spark)
val rootLogger = Logger.getRootLogger()
rootLogger.setLevel(Level.ERROR)
// Please update the values in the optionsMap to connect to your own data source
val optionsMap = Map(
"sfDatabase" -> "snowflake_sample_data",
"sfSchema" -> "PUBLIC",
"sfWarehouse" -> "WORKSHOP_123",
"dbtable" -> "lineitem",
"secretId"-> "my-secret", // optional
"className" -> "net.snowflake.spark.snowflake"
)
val customSource = glueContext.getSource(
connectionType = "custom.spark", // for marketplace workflow, use marketplace.spark
connectionOptions = JsonOptions(optionsMap),
transformationContext = "")
val dyf = customSource.getDynamicFrame()
dyf.printSchema()
dyf.show()
val customSink = glueContext.getSink(
connectionType = "custom.spark",
connectionOptions = JsonOptions(optionsMap))
customSink.writeDynamicFrame(dyf)
}