1 つのテーブルに 3 つの列が含まれていて、次のようなクエリをレンダリングするとします。
SELECT col1, col2, col3, null as col4 from table;
この場合、null 値は適切に反映されません。UNION 操作で「ランタイム NULL 例外」というエラーが発生しました。これについて助けてください
いくつかのサンプルテーブルでこれを試してみましたが、エラーなしで機能しました。クエリの例:
select * from
(select col1, NULL as col2 from table1 LIMIT 10
UNION ALL
select col1, col2 from table2LIMIT 10) q1
これを使用している Hadoop のディストリビューション/バージョン。IDHでこれを試してみましたが、うまくいきました。完全なエラーメッセージも貼り付けられますか
ハイブ (デフォルト)> テーブル 4 を記述します。
わかった
fld1 文字列
fld2 文字列
ハイブ (デフォルト)> テーブル 4 から fld3 として fld1、fld2、null を選択します。
1ヌル
B1ヌル
C 1ヌル
質問者のコメントに従って以下を追加すると、
このキャストを試してみましたが、現在は文字列として記述されています。必要に応じてキャストできます
table4 から fld1、fld2、cast(null as string) fld3 としてテーブル table6 を作成します。
ハイブ (デフォルト)> テーブル 6 を記述します。わかった
fld1 文字列 fld2 文字列 fld3 文字列