我使用AWS胶水创建ETL作业-使用Pyspark编写脚本。
原始数据是一个Avro文件,我使用AWS Glue搜寻器进行搜寻,然后将输出表用作我的Glue ETL作业的目标。我注意到,该架构已将列的值表示为字节,现在我希望将其转换为浮点数。
我的工作创建了一个Pyspark df“金额”。它具有以下值:
dGpSiAA=
ARdlkuAA
AOjUpRAA
RdlkuAA=
平均模式是这样的:
{\"name\":\"amount\",\"type\":{\"type\":\"bytes\",\"scale\":8,\"precision\":20,\"connect.version\":1,\"connect.parameters\":{\"scale\":8,\"connect.decimal.precision\":\"20\"},\"connect.name\":\"org.apache.kafka.connect.data.Decimal\",\"logicalType\":\"decimal\"}}
如何将它们转换为相应的浮点值?
我尝试过:
import pyspark.sql.functions as sql_f
duplicates_dropped_df = duplicates_dropped_df.withColumn("amount", sql_f.col("amount").cast('double'))