Я указываю схему для моего искрового кода, но все результаты возвращают NULL. Однако, когда я получаю inferSchema = True, header = True, я получаю правильные результаты.
Например, моя схема выглядит следующим образом:
myschema = StructType([StructField("event_ts", IntegerType(), True)
,StructField("sdk_ts", IntegerType(), True)
,StructField("device_id", StringType(), True)
,StructField("latitude", DoubleType(), True)
,StructField("longitude", DoubleType(), True)
,StructField("country", StringType(), True)])
Когда я применяю схему для чтения в файл как фрейм данных выглядит следующим образом:
testzip = spark.read.csv("adl://mylake.azuredatalakestore.net/filepath/01/000000000000.csv.gz",schema=myschema)
Я получаю следующие результаты, которые показывают NULL
Однако, когда я читаю в данные с inferSchema = True, header = True следующим образом, я получаю правильный результат, то есть без NULL
testzip = spark.read.csv("adl://mylake.azuredatalakestore.net/filepath/01/000000000000.csv.gz",inferSchema=True,header=True)
Я уверен, что упускаю что-то очень очевидное, но просто не вижу этого.