現在、ハイブで複数のテーブルを結合しようとしています。私がこれを達成した後、私はいくつかの列の種類が適切でないことを発見しました。いくつかはfloat
であるべきだと思っていましたが、なんらかの形でstring
になります。それから私は、ALTERコマンドを実行した:alter table table_name change column_name column_name float;
これは、エラーメッセージが返さ:org.apache.hadoop.hive.ql.exec.DDLTaskから実行エラー、リターンコード1:キャストの別のアクションとハイブの変更
失敗しました。テーブルを変更できません。次の列は、私は、これはハイブがtableに示したように浮遊する変換文字列をサポートしていないことを意味考えてそれぞれの位置での既存の列との互換性のない型
を持っています。しかし、私は同じコラムでキャストして、欲しい結果を得ることができることを発見しました。これは、私が変更とキャストとの間に異なる結果が生じる理由を混乱させる。その背後にある論理は何ですか? THX。
申し訳ありません。私は自分のコマンドにchange keywordを持っています。更新しました。 –
@G_cy別の列名を付けようとしました – leftjoin
@G_cyはそれを数回チェックしました。これは、同じ列名と異なる種類の文字列、浮動小数点数、日付などで動作します。おそらく問題はHiveバージョンです。鉱山は1.2.1000.2.4.3.3-2 – leftjoin