将列添加到现有HIVE表会产生什么后果?

Phi*_*ami 8 schema hadoop hive

假设在开始使用HIVE后几百个Gigs我想添加一个列.从我看到的各种文章和页面来看,我无法理解其后果

  • 需要存储空间(双?)
  • 阻止(我还能在其他进程中读取表)吗?
  • 时间(它是快速的还是像MysqL一样慢的变化?)
  • 底层存储(我是否需要更改所有底层文件?如何使用RCFile完成?)

任何能够在HIVE专栏中回答结构相同问题的人都可以获得奖励.

Hel*_*ann 12

如果向hive表添加列,则仅更新基础Metastore.

  • 只要不添加数据,就不会增加所需的存储空间
  • 可以在其他进程访问表时进行更改
  • 变化非常快(只更新了底层的Metastore)
  • 您不必更改基础文件.现有记录的值为新列的值为null

我希望这有帮助.