Databricks更新表不适用于Orc格式

时间:2018-07-03 08:02:53

标签: apache-spark-sql databricks

Databricks更新表不适用于orc格式。 我在蜂巢metastore中创建了具有ORC格式的表,并且工作正常。 后来我运行了UPDATE TABLE,该命令失败了。 有没有办法使用Databricks实现UPDATE?

1 个答案:

答案 0 :(得分:0)

Databricks增量支持带有事务支持的更新,更新(合并)和删除。表使用“ 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选项存储的数据,可以通过以下方式完成更新:创建一个不包含要更新的行的新行集,然后创建仅包含具有新值的已更新行的第二个行集,然后合并两个行集在一起。