1
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

新しい列tはハイブに表示されません。dse のバージョンは 3.1.3 です。

私は何をする必要がありますか?

4

2 に答える 2

7

キースペースを削除したり、DSE または Hive を再起動したりする必要はありません。Hive テーブルを削除し、use コマンドを発行して DSE に再作成させるだけです。

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 (つまり、USE の代わりに SHOW TABLES) を使用しても同じことが実現できます。DataStax ドキュメントに従って: http://www.datastax.com/docs/datastax_enterprise3.1/solutions/about_hive#handling-schema-changes

于 2013-09-25T13:38:48.083 に答える
1

HiveMetaStore キースペースと MetaStore 列ファミリーを削除します。次に、DSE を再起動し、HIVE を再起動します。新たなスタートを切る必要があります。

于 2013-09-21T21:55:51.713 に答える