問題
您正在嚐試投射細繩類型列到Varchar但這是不起作用的。
- 創建一個簡單的Delta表,一列作為類型細繩。
%SQL使用Delta創建或替換表Delta_table1(`col1`字符串);
- 利用顯示表在新創建的表上,它報告了細繩類型。
%sql show create table delta_table1;
- 根據第一個創建第二個三角洲表,然後轉換細繩將列輸入Varchar。
%sql創建或替換表Delta_varchar_table1使用delta作為select cast(col1 as varchar(1000))從delta_table1;
- 利用顯示表在新創建的表上,它報告了該表的創建,但該列為細繩類型。
%sql show create table delta_varchar_table1;
原因
這Varchar類型隻能在表模式中使用。它不能用於功能或操作員中。
請查看火花支持的數據類型文檔以獲取更多信息。
解決方案
- 你不能鑄造細繩至Varchar,但是您可以創建一個Varchar三角洲表。
%sql創建或替換表Delta_varchar_table2(`col1` varchar(1000))使用delta;
- 利用顯示表在新創建的表上,它報告了Varchar類型。
%sql show create table delta_varchar_table2;
- 您現在可以創建另一個VarcharDelta表,基於第一個,並保持Varchar類型。
%sql創建或替換表delta_varchar_table3使用delta作為select *從delta_varchar_table2; select *;
- 利用顯示表在新創建的表上,它報告了Varchar類型。
%sql show create table delta_varchar_table3;