pyspark使用名称中的变量将数据框保存到配置单元表

时间:2019-09-11 12:44:39

标签: pyspark pyspark-sql databricks

我正在使用databrick pyspark进行编码 想知道如何将变量值传递给要保存在Azure中的表的名称

如果这是修订表名称,我就可以使用它

result.write.format("parquet").mode("overwrite").saveAsTable("result0911")

但我希望这样做

具有变量:time = datetime.today() 的值是“ 2019-09-11 12:10:48.969602”

我想先将“时间”格式设置为"20190911121048",这对表名很有用(我也需要时间,因为人们每天可能会多次保存记录)

然后使用我要保存的值"20190911121048"表名 表名称应为"result_20190911121048"

有什么建议吗?谢谢 以下不起作用

result.write.format("parquet").mode("overwrite").saveAsTable("result_%s time")

2 个答案:

答案 0 :(得分:1)

假设您有2个具有值的变量

time = "20190911121048"
table_name = 'result'

然后您可以将表名设置为:

final_table_name = '{}_{}'.format(table_name, time)

result.write.format("parquet").mode("overwrite").saveAsTable(final_table_name)

答案 1 :(得分:1)

谢谢您的输入。我可以使用它:

time = datetime.today()
t=time.strftime("%Y%m%d%H%M")
result_name ="recommendation_%s" % (t)
final_recon.write.format("parquet").mode("overwrite").saveAsTable(result_name)