通过inferSchema=True,PySpark 将尝试自动推断各列的数据类型。 4. 定义期望的 Schema 因为我们知道数据中某些列应该是DecimalType,所以定义一个 schema 来确保这些列的正确类型。 # 定义期望的 Schemaschema=StructType([StructField("id",DecimalType(),True),# id 列预计为 DecimalTypeStructField("amount",Decimal...
pyspark中对于浮点数值运算时,定义udf,在udf内部通过decimal进行计算,最终返回StringType或返回DecimalType(38,18) # eval('%s * %s') # eval('pow(%s,%s)') # eval('%s + %s') # eval函数使用参考https://www.programiz.com/python-programming/methods/built-in/eval from decimal import * decimalMax...
这对我来说很好:假设上述DF为pyspark Dataframe您可以像这样转换列的类型:
from pyspark.sql.types import StructType, StructField, StringType, IntegerType, DateType, TimestampType, DecimalType def get_fake_df(num_rows, max_id=0): fake = Faker() schema = StructType([ StructField("id", IntegerType(), False), StructField("first_name", StringType(), False), Str...