如何在Bigquery中使用"导出数据选项"命令将存档日期添加到存档名称中



我有个问题。我想创建一个具有"导出数据选项"功能的文件,并且我想在文件名中显示存档日期。我正试图创建一个变量测试来完成它,但它不起作用。你知道我该怎么解决吗?

SELECT
CONCAT("'gs://archivage-base/base1_",today,"*.csv'") as test
FROM
(SELECT
CURRENT_DATE()  as today);
EXPORT DATA OPTIONS(
uri=test,
format='CSV',
overwrite=true,
header=true,
field_delimiter=';') AS
SELECT * FROM `base-042021.campagnemakers.makerlocal`

谢谢

您可以在uri声明中直接使用SQL函数。示例:current_date((、current_datetime((等。查看本文了解数十个选项。

EXPORT DATA OPTIONS(
uri='gs://bucket_name/my_prefix/my_archive_name_'||current_date()||'-part-*.csv',
format='CSV',
overwrite=true,
header=true,
field_delimiter=';') AS
SELECT * FROM `base-042021.campagnemakers.makerlocal`

您可以使用EXECUTE IMMEDIATE来执行此操作。

EXECUTE IMMEDIATE """
EXPORT DATA OPTIONS(
uri='gs://bucket_name/my_prefix/my_archive_name_@EXPORT_DATE-part-*.csv',
format='CSV',
overwrite=true,
header=true,
field_delimiter=';') AS
SELECT * FROM `base-042021.campagnemakers.makerlocal`
"""
using current_date('+/- time offset from UTC') as EXPORT_DATE

还要注意,您必须使用通配符指定一个URI,因为要导出的查询结果可能非常大,请参阅export DATA文档。

有关如何指定时区的更多信息

EXECUTE IMMEDIATE是一种脚本功能,它允许在运行时从字符串创建SQL语句,这样您就可以修改SQL语句的任何部分。您甚至可以创建一个存储过程,该存储过程将获得表名作为输入和GCS前缀,以便能够通过对存储过程的简单调用将不同的表导出到不同的位置。

相关内容

  • 没有找到相关文章

最新更新