Databricks 更新 table 不适用于 orc 格式

Databricks update table not working with orc format

Databricks 更新 table 不适用于 orc 格式。 我在配置单元 Metastore 中创建了一个 ORC 格式的 table,它运行良好。 后来我 运行 UPDATE TABLE 那个命令失败了。 有没有办法使用 Databricks 实现更新?

Databricks delta 通过事务支持支持更新、更新插入(合并到)和删除。表存储有 'USING DELTA' 选项,例如。 g.:

CREATE TABLE events (
  edate DATE,
  eventId STRING,
  eventType STRING,
  data DECIMAL)
 USING DELTA
 PARTITIONED BY (date)
LOCATION 'wasbs://adls2@sample.blob.core.windows.net/managedtables/events';

数据存储在带有附加事务日志的镶木地板文件中。有关详细信息,请参阅 Databrick Delta Guide

Spark 中的事务不支持 ORC。因此,如果您想更新使用 ORC 选项存储的数据,可以通过创建一个不包括要更新的行的新行集,然后创建第二个仅包括具有新值的更新行的行集,然后合并两个行集合在一起。