是否有任何原因使此命令运行良好:
%sql SELECT * FROM Azure.Reservations WHERE timestamp > '2021-04-02'
返回2行,而下面是:
%sql DELETE FROM Azure.Reservations WHERE timestamp > '2021-04-02'
失败原因:
sql语句中的错误:assertionerror:assertion失败:deletefromtable没有计划(时间戳#394>16173216000000)
?
我是databricks的新手,但我确信我在另一个表上运行了类似的命令(没有where子句)。表是基于Parquet文件创建的。
1条答案
按热度按时间yvfmudvl1#
DELETE FROM
(同样地UPDATE
,或MERGE
)在Parquet文件上不支持-现在在databricks上它支持delta格式。您可以使用convert to delta将您的Parquet文件转换为delta,然后此命令将适用于您。另一种实现方法是读取Parquet文件,过滤掉要保留的行,然后覆盖Parquet文件。