Pet*_*e K 2 apache-spark databricks azure-databricks delta-lake
这个命令运行良好有什么原因吗:
%sql SELECT * FROM Azure.Reservations WHERE timestamp > '2021-04-02'
Run Code Online (Sandbox Code Playgroud)
返回 2 行,如下:
%sql DELETE FROM Azure.Reservations WHERE timestamp > '2021-04-02'
Run Code Online (Sandbox Code Playgroud)
失败并显示:
SQL语句中的错误:AssertionError:断言失败:没有DeleteFromTable的计划(timestamp#394 > 1617321600000000)
?
我是 Databricks 新手,但我确信我在另一个表上运行了类似的命令(没有 WHERE 子句)。该表是基于 Parquet 文件创建的。
DELETE FROM(以及类似的UPDATE、 或MERGE)在 Parquet 文件上不受支持 - 目前在 Databricks 上支持 Delta 格式。您可以使用CONVERT TO DELTA将镶木地板文件转换为增量文件,然后此命令将适合您。
另一种替代方法是读取 parquet 文件,过滤掉要保留的行,然后覆盖 parquet 文件。
| 归档时间: |
|
| 查看次数: |
8767 次 |
| 最近记录: |