是否存在Spark SQL Only解决方案,可将强制类型转换应用于复杂列,如下所示:
amap map<bigint,struct<dname1:string,dval1:decimal(38,18)>>
我希望转换后的列如下所示(实际上只是十进制精度转换)
amap map<bigint,struct<dname1:string,dval1:decimal(18,5)>>
我正在寻找仅适用于Spark-SQL的解决方案,例如:
SELECT CAST(amap as <NOTSUREWHAT>) AS casted_map from ...
答案 0 :(得分:0)
您可以直接使用DDL字符串:
SELECT CAST(
amap as map<bigint,struct<dname1:string,dval1:decimal(38,18)>>
) AS casted_map from ...