是否有Spark SQL Only解决方案可将强制转换应用于复杂的列(地图,结构)

时间:2019-01-08 13:35:11

标签: apache-spark apache-spark-sql

是否存在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 ...

1 个答案:

答案 0 :(得分:0)

您可以直接使用DDL字符串:

SELECT CAST(
  amap as map<bigint,struct<dname1:string,dval1:decimal(38,18)>>
) AS casted_map from ...