我想在spark中将delta表的列的数据类型从bigint改为double。
分析异常:无法更新spark_catalog.default.tablename字段column_name:bigint不能转换为decimal(10,2);第1行位置0;AlterColumn resolvedfieldname(StructField(column_name,LongType,true)),DecimalType(10,2)
ALTER TABLE tablename ALTER COLUMN column_name TYPE decimal(10,2)
1条答案
按热度按时间mlmc2os51#
我在我的环境中复制了同样的代码。我得到了这样的输出:
按照下面的方法,它将更改spark sql中列的数据类型。
方法1
Pyspark
首先直接读取Delta表作为 Dataframe ,使用cast函数更改数据类型。注意:my_table1这是我的增量表
方式二:
Spark SQL: