2017-10-22 19 views
0

が、これは「作成」コマンドで定義されORC表の列に置き換えます。ハイブは、私がORCファイルに保存されたハイブのテーブルを持っている

ROW FORMAT SERDE 
    'org.apache.hadoop.hive.ql.io.orc.OrcSerde' 
STORED AS INPUTFORMAT 
    'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' 
OUTPUTFORMAT 
    'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' 

私は端から列を削除したいので、私 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Replacing columns cannot drop columns for table default.table. SerDe may be incompatible

HiveのORCテーブルの列を置き換える方法はありますか? Googleがこの件で失敗しました....

ありがとう!

答えて

0

ハイブチュートリアルのとおり、REPLACE COLUMNSコマンドは、ネイティブSerDe(DynamicSerDe、MetadataTypedColumnsetSerDe、LazySimpleSerDeおよびColumnarSerDe)を持つテーブルに対してのみ実行できます。

あなたのケースでは、 は必須の列で新しい表を作成します。 古いテーブルから新しいテーブルに挿入します。 古いテーブルの名前を他のテーブルに変更します。 新しいテーブルの名前を古いテーブルに変更します。

ありがとうございました。

関連する問題