我有一个多列pyspark Dataframe ,我需要将字符串类型转换为正确的类型,例如:
我现在就是这样做的
df = df.withColumn(col_name, col(col_name).cast('float') \
.withColumn(col_id, col(col_id).cast('int') \
.withColumn(col_city, col(col_city).cast('string') \
.withColumn(col_date, col(col_date).cast('date') \
.withColumn(col_code, col(col_code).cast('bigint')
是否可以创建一个包含类型的列表,并立即将其传递给所有列?
1条答案
按热度按时间kmynzznz1#
您只需要有一些Map作为字典或类似的东西,然后生成正确的
select
语句(您可以使用withColumn
,但通常会导致性能问题)。大概是这样的: