получение пустых значений при конкатенации строковых столбцов в pyspark. Почему? - PullRequest
0 голосов
/ 09 января 2020

У меня есть этот супер простой фрейм данных:

rc1.show(5)
rc1.printSchema()
+--------+-----------+
|      ID|Case number|
+--------+-----------+
|11034701|   JA366925|
|11227287|   JB147188|
|11227583|   JB147595|
|11227293|   JB147230|
|11227634|   JB147599|
+--------+-----------+
only showing top 5 rows

root
 |-- ID: string (nullable = true)
 |-- Case number: string (nullable = true)

Я хочу добавить новый столбец, который является просто объединением столбца «Номер дела» и «aaa», поэтому я использую это для сделайте это:

rc2 = rc1.withColumn("Case numberxx", col("Case number") + "aaa")
rc2.show(5)

Однако я не могу понять, почему моя новая колонка полна нулей:

+--------+-----------+-------------+
|      ID|Case number|Case numberxx|
+--------+-----------+-------------+
|11034701|   JA366925|         null|
|11227287|   JB147188|         null|
|11227583|   JB147595|         null|
|11227293|   JB147230|         null|
|11227634|   JB147599|         null|
+--------+-----------+-------------+
only showing top 5 rows

Почему это происходит? Спасибо!

1 Ответ

0 голосов
/ 09 января 2020

хорошо, ребята, это работало нормально:

from pyspark.sql.functions import concat, lit

rc2 = rc1.withColumn("Case numberxx", concat(col("Case number"), lit("aaa")))
rc2.show(5)

+--------+-----------+-------------+
|      ID|Case number|Case numberxx|
+--------+-----------+-------------+
|11034701|   JA366925|  JA366925aaa|
|11227287|   JB147188|  JB147188aaa|
|11227583|   JB147595|  JB147595aaa|
|11227293|   JB147230|  JB147230aaa|
|11227634|   JB147599|  JB147599aaa|
+--------+-----------+-------------+

Однако я не могу понять, почему это значение равно нулю:

col("Case number") + lit("aaa")

, но это нормально

concat(col("Case number"), lit("aaa"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...