一般的な Hive に関する質問が既にあります ( Is there a way to alter column type in hive table? )。この質問への回答は、alter table change コマンドでスキーマを変更できると述べています。
ただし、ファイルがORCとして保存されている場合、これも可能ですか?
一般的な Hive に関する質問が既にあります ( Is there a way to alter column type in hive table? )。この質問への回答は、alter table change コマンドでスキーマを変更できると述べています。
ただし、ファイルがORCとして保存されている場合、これも可能ですか?
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 に互換性がない可能性があります。