You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Azure Databricks中基于当前日期创建表(SQL/Python实现)

在Azure Databricks中创建带日期后缀的表

一、Databricks SQL实现方案

直接用变量替换无法解析函数表达式,需通过动态SQL(EXECUTE IMMEDIATE)拼接表名并执行。具体代码如下:

-- 将当前日期格式化为YYYY-MM-DD并赋值给变量
SET p.myVar = (SELECT DATE_FORMAT(CURRENT_DATE(), 'yyyy-MM-dd'));

-- 动态生成并执行建表SQL
EXECUTE IMMEDIATE CONCAT('CREATE OR REPLACE TABLE workbench.example_', ${p.myVar}, ' AS SELECT "1"');

-- 动态查询刚创建的表
EXECUTE IMMEDIATE CONCAT('SELECT * FROM workbench.example_', ${p.myVar});

说明

  1. 先通过子查询把CURRENT_DATE()转为指定格式的字符串,避免变量直接保留函数表达式
  2. 用CONCAT拼接完整SQL语句,再通过EXECUTE IMMEDIATE执行动态生成的逻辑

二、Databricks Python实现方案

如果SQL方案无法满足需求,可通过PySpark代码实现:

from datetime import datetime
from pyspark.sql import SparkSession

# 生成格式化日期并拼接表名
current_date = datetime.today().strftime('%Y-%m-%d')
table_name = f"workbench.example_{current_date}"

# Databricks环境中SparkSession通常已初始化,无需手动创建
spark = SparkSession.builder.getOrCreate()

# 执行建表语句
spark.sql(f"CREATE OR REPLACE TABLE {table_name} AS SELECT '1'")

# 查询表数据
result = spark.sql(f"SELECT * FROM {table_name}")
result.show()

说明

  1. 用Python的datetime模块生成符合要求的日期字符串,拼接出完整表名
  2. 通过spark.sql()执行动态生成的建表、查询语句,适配Databricks环境

内容的提问来源于stack exchange,提问作者Englishman Bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 00:15:12