добавлять окружающие кавычки в поля при загрузке данных в улей - PullRequest
0 голосов
/ 24 октября 2019

У меня есть данные, которые выглядят так:

1,Anna,London
2,Peter,Amsterdam

Я хочу загрузить эти данные в виде фрейма данных в улей и добавить кавычки, чтобы данные в фрейме данных выглядели так:

"1" "Anna" "London"
"2" "Peter" "Amsterdam"

Я установил разделитель на ",". Я знаю, что есть функция цитаты, но она делает обратное. Как я могу добавить цитаты?

1 Ответ

1 голос
/ 24 октября 2019

Вы можете достичь этого с помощью format_string функции

scala> val df = Seq(("1","Anna","London"),("2","Peter","Amsterdam")).toDF()
df: org.apache.spark.sql.DataFrame = [_1: string, _2: string ... 1 more field]

scala> df.show()
+---+-----+---------+
| _1|   _2|       _3|
+---+-----+---------+
|  1| Anna|   London|
|  2|Peter|Amsterdam|
+---+-----+---------+


scala> val c = df.columns.map(df(_)).map((format_string("\"%s\"",_)))
c: Array[org.apache.spark.sql.Column] = Array(format_string("%s", _1), format_string("%s", _2), format_string("%s", _3))

scala> df.select(c:_*).toDF(df.columns:_*).show()
+---+-------+-----------+
| _1|     _2|         _3|
+---+-------+-----------+
|"1"| "Anna"|   "London"|
|"2"|"Peter"|"Amsterdam"|
+---+-------+-----------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...