【问题标题】:Insert Current Date in ADL Gen2 (DataBricks)在 ADL Gen2 (DataBricks) 中插入当前日期
【发布时间】:2022-10-18 00:09:04
【问题描述】:

我是 Databricks 的新手,我有一个要求,在转换后的银层中,我必须从我的数据集中获取 max(load_date) 并更新存储帐户(瞬态文件夹)中的值。 Transient 文件夹中已经有一个 .csv 文件,每次我的笔记本运行时我都必须覆盖 max(load_date) 值。

现在我正在创建一个空的数据框,然后分配最大日期,然后将其加载到文件中,但它似乎不是那样工作的。 任何想法以有效的方式做到这一点?

【问题讨论】:

  • 您需要解释您到底在做什么(架构、代码)以及问题到底是什么(错误或数据与预期)。

标签: pyspark databricks azure-databricks azure-data-lake-gen2


【解决方案1】:

创建一个空 SQL 表,然后使用合并操作将最大日期分配到数据框中。

我已将我的最大日期存储在 kDF 数据框中。

kDF.write.option("mergeSchema","true").format("delta").mode("append").saveAsTable("test3")

合并操作后,Max date 将存储在test3 表中,并存储在此位置/mnt/defaultDatalake/filedemo

现在您可以检查数据:

df1 = spark.read.format("delta").option("header", "true").load("/mnt/defaultDatalake/filedemo")
display(df1)

然后使用 azure data Lake gen2 执行写入操作:

#Connect Gen2 with azure databricks

spark.conf.set(
  "fs.azure.account.key.<storage_account>.dfs.core.windows.net",
  "Access_key"
)

将数据覆盖到 Gen2

df1.coalesce(1).write.format('csv').mode("overwrite").save("abfss://demo12@vamblob.dfs.core.windows.net/vam")

【讨论】:

    猜你喜欢
    • 2017-04-01
    • 2012-02-23
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    相关资源
    最近更新 更多