Databricks 更新表不适用于 orc 格式
Posted
技术标签:
【中文标题】Databricks 更新表不适用于 orc 格式【英文标题】:Databricks update table not working with orc format 【发布时间】:2018-07-03 08:02:52 【问题描述】:。 我在 hive 元存储中创建了一个 ORC 格式的表,它运行良好。 后来我运行了 UPDATE TABLE 并且该命令失败了。 有没有办法使用 Databricks 实现 UPDATE?
【问题讨论】:
【参考方案1】: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';
数据存储在带有附加事务日志的 parquet 文件中。详情请见Databrick Delta Guide。
Spark 中的事务不支持 ORC。因此,如果您想更新使用 ORC 选项存储的数据,可以通过创建一个不包括要更新的行的新行集,然后创建一个仅包含具有新值的更新行的第二个行集,然后合并两个行集在一起。
【讨论】:
以上是关于Databricks 更新表不适用于 orc 格式的主要内容,如果未能解决你的问题,请参考以下文章