Результаты df.show () для вычисляемой переменной всегда возвращают UNDEFINED, даже если в поле есть данные - PullRequest
0 голосов
/ 24 января 2019

У меня есть 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?

Спасибо за любые рекомендации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...