У меня есть CSV-файл со следующей структурой и схемой.
Age|gender|empl|weight1|WaveMarker
_35_44|_2|_1|1.836806276249|2018_7
_25_34|_1|_1|1.07306705429563|2018_7
_25_34|_1|_1|1.07306705429563|2018_7
StructType(
StructField(Age,StringType,true),
StructField(gender,StringType,true),
StructField(empl,StringType,true),
StructField(weight1,DoubleType,true),
StructField(WaveMarker,StringType,false)
)
Однако при чтении из CSV-файла все значения для WaveMarker устанавливаются в Undefined Results of df.show ()
+-----------------+------------+----------+-------------------+----------+
|S0101_AgeBreaks_2|S0102_gender|S0104_empl| weight1|WaveMarker|
+-----------------+------------+----------+-------------------+----------+
| _55_64| _2| _1|0.45218578423031397| UNDEFINED|
| _65_70| _1| _3| 1.15091044127064| UNDEFINED|
| _65_70| _2| _3| 0.8322074504127289| UNDEFINED|
| _18_24| _2| _1| 1.01132670132912| UNDEFINED|
| _65_70| _1| _3| 0.881507097796274| UNDEFINED|
+-----------------+------------+----------+-------------------+----------+
Единственное, что «отличается» от WaveMarker в том, что это вычисляемая переменная типа string.
//Run from Spark-shell
val df = spark.read.format("csv").option("header","true").option("delimiter","|").option("mode","dropmalformed").option("maxcolumns",10000).option("inferschema","true").load("BigFile.csv")
df.show()
Я ожидаю увидеть значение, отличное от Undefined, для WaveMarker для всех случаев.
Однако все значения WaveMarker не определены.
Почему я не могу получить значение WaveMarker?
Спасибо за любые рекомендации.