Когда я пытаюсь импортировать локальный CSV с помощью spark, каждый столбец по умолчанию читается как строка.Однако мои столбцы содержат только целые числа и тип отметки времени.Чтобы быть более конкретным, CSV выглядит следующим образом:
"Customer","TransDate","Quantity","PurchAmount","Cost","TransID","TransKey"
149332,"15.11.2005",1,199.95,107,127998739,100000
Я нашел код, который должен работать в этот вопрос , но при его выполнении все записи возвращаются как NULL
.
Я использую следующее для создания пользовательской схемы:
from pyspark.sql.types import LongType, StringType, StructField, StructType, BooleanType, ArrayType, IntegerType, TimestampType
customSchema = StructType(Array(
StructField("Customer", IntegerType, true),
StructField("TransDate", TimestampType, true),
StructField("Quantity", IntegerType, true),
StructField("Cost", IntegerType, true),
StructField("TransKey", IntegerType, true)))
и затем читаю в CSV с:
myData = spark.read.load('myData.csv', format="csv", header="true", sep=',', schema=customSchema)
Что возвращает:
+--------+---------+--------+----+--------+
|Customer|TransDate|Quantity|Cost|Transkey|
+--------+---------+--------+----+--------+
| null| null| null|null| null|
+--------+---------+--------+----+--------+
Я пропустил важный шаг?Я подозреваю, что столбец Дата является корнем проблемы.Примечание. Я запускаю это в GoogleCollab.