1

一般的な Hive に関する質問が既にあります ( Is there a way to alter column type in hive table? )。この質問への回答は、alter table change コマンドでスキーマを変更できると述べています。

ただし、ファイルがORCとして保存されている場合、これも可能ですか?

4

2 に答える 2

0

ORC テーブルでテストを実行しました。文字列を float 列に変換することができます。

ALTER TABLE test_orc CHANGE third_column third_column float;

文字列列としてマークされている third_column という名前の列を float 列に変換します。列の名前を変更することもできます。

補足: ORC の他の変更が問題を引き起こす可能性があるかどうか、私は興味がありました。列を並べ替えようとしたときに例外が発生しました。

ALTER TABLE test_orc CHANGE third_column third_column float AFTER first_column;

例外は次のとおりです: FAILED: 実行エラー、org.apache.hadoop.hive.ql.exec.DDLTask からの戻りコード 1。表 default.test_orc では、列の並べ替えはサポートされていません。SerDe に互換性がない可能性があります。

于 2016-11-30T12:10:35.380 に答える