Преобразование типа столбца pyspark DataFrame из BigInt в Int - PullRequest
0 голосов
/ 03 февраля 2020

при создании фрейма данных pyspark следующим образом:

df = spark.sparkContext.parallelize([
      ('Client1', 'abc', 1),
      ('Client2', 'def', 2),
      ('Client3', 'ghi', 3)
   ]).toDF(['CLIENT_NO', 'CLIENT_FAMILY', 'CLT_INT'])

столбец 'CLT_INT' имеет тип BigInt .

Любые предложения о том, как я может привести к тому, что этот столбец не будет содержать BigInt , а вместо этого Int без изменения способа создания DataFrame, т. е. путем использования распараллеливания и toDF * * 1016

1 Ответ

1 голос
/ 03 февраля 2020

Вы можете попробовать что-то вроде этого

>>> df2 = df.withColumn("CLT_INT", df["CLT_INT"].cast(IntegerType()))
>>> df2.printSchema()
root
 |-- CLIENT_NO: string (nullable = true)
 |-- CLIENT_FAMILY: string (nullable = true)
 |-- CLT_INT: integer (nullable = true)
...