我需要循环一个笔记本,以便为在snowflake中加载的多个表创建Dataframe。
以下是迄今为止的代码:
import org.apache.spark.sql.DataFrame
import net.snowflake.spark.snowflake.Utils.SNOWFLAKE_SOURCE_NAME
val df = spark.sql("select * from myschema.table1")
df .write
.format("snowflake")
.options(options)
.option("dbtable", "table1")
.mode(SaveMode.Overwrite)
.save()
我想用tablename作为参数,以动态的方式为另外10个表运行这个函数,但是我很难使用循环(for)来实现这个函数。
可能是这样的:
For each table in table_list (table1,table2...)
run
val df = spark.sql("select * from myschema.table")
df .write
.format("snowflake")
.options(options)
.option("dbtable", "table")
.mode(SaveMode.Overwrite)
.save()
后来编辑想出了解决办法:
for (table <- tables)
{ val df = spark.sql(s"""select * from schema.$table""")
df.write
.format("snowflake")
.options(options)
.option("dbtable", s"""$table""")
//.mode(SaveMode.Overwrite)
.save()
}
暂无答案!
目前还没有任何答案,快来回答吧!