cqlsh:test> alter table example add t int;
then ,
bash$dse hive
hive> use test; desc example;
OK
k int from deserializer
v string from deserializer
在hive中无法看到新列t
。
dse版本是3.1.3。
我需要做什么?
答案 0 :(得分:7)
您不需要删除任何键空间或重新启动DSE或Hive,只需删除Hive表并让DSE通过发出use命令重新创建它。
hive> desc ex;
OK
k int from deserializer
v string from deserializer
Time taken: 0.054 seconds
hive> drop table ex;
OK
Time taken: 0.051 seconds
hive> desc ex;
OK
Table ex does not exist
Time taken: 0.051 seconds
hive> use foo;
OK
Time taken: 0.035 seconds
hive> desc ex;
OK
k int from deserializer
t int from deserializer
v string from deserializer
Time taken: 0.042 seconds
编辑:DROP TABLE后跟SHOW TABLES(即SHOW TABLES而不是USE)可以实现相同的目的。根据DataStax文档:http://www.datastax.com/docs/datastax_enterprise3.1/solutions/about_hive#handling-schema-changes
答案 1 :(得分:1)
删除HiveMetaStore键空间和MetaStore列族。然后重启DSE,重启HIVE,你应该重新开始