Как записать данные в базу данных, имеющую столбец с цитатой? - PullRequest
0 голосов
/ 28 февраля 2020

со схемой скажем -

'struct<address:string,"name":string>'

В одном имени столбца, скажем, "name" с кавычками. Теперь при записи df он выдает:

name expected at the position ..  but '"' is found.

со следующим примером кода:

df
.write
.format(format)
.options(options)
........

1 Ответ

0 голосов
/ 28 февраля 2020

Мой ответ ниже. Мы просто переименовываем колонку с побегом. Вы должны сделать это непосредственно перед записью в базу данных, т.е. оператором df.write.

from pyspark.sql.functions import *
from pyspark.sql.types import *

values = [("112 Street, Pune","Stacky"),
          ("220 Street, Mumbai","John")]
rdd = sc.parallelize(values)
schema = StructType([StructField("address", StringType(), True),                             
StructField("name", StringType(), True)])

data = spark.createDataFrame(rdd, schema)
data.show(20,False)

+------------------+------+
|address           |name  |
+------------------+------+
|112 Street, Pune  |Stacky|
|220 Street, Mumbai|John  |
+------------------+------+

data = data.withColumnRenamed("name","\"name\"")
data.show()

+------------------+------+
|           address|"name"|
+------------------+------+
|112 Street, Pune  |Stacky|
|220 Street, Mumbai|  John|
+------------------+------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...