小编田村尚*_*村尚也的帖子

有没有一种方法可以使用pyspark动态创建模式信息,并且不会在输出jsonfile中转义字符?

当前pyspark格式化logFile,然后加载redshift。

分析有关以json格式输出的logFile的每个项目,添加一个项目,然后将其加载到Redshift中。但是,某些项目的格式因每种类型而异。?对于同一项目,事先应用Shcema。即使按原样输出,也会输入转义字符?有没有办法动态创建架构信息,并且输出jsonfile没有转义符?

- 环境 -

- spark 2.4.0
- python version 2.7.15
Run Code Online (Sandbox Code Playgroud)

-DataFrame-

>> df.printSchema()
root
 |-- Name: string (nullable = false)
 |-- d: map (nullable = false)
 |    |-- key: string
 |    |-- value: string (valueContainsNull = true)

>> df.show(2,False)
+------+------------------------------------------------------------+
|Name  |d                                                           |
+------+------------------------------------------------------------+
|Amber |[Body -> {"City": "Oregon", "Country": "US"}, BodyType -> 1]|
|Alfred|[Body -> {"Weight": 80, "Height": 176}, BodyType -> 2]      |
+------+------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

-模式?对于普通项目?-

>> print(json.dumps(schema.jsonValue(), indent=2))
{
  "fields": [
    {
      "metadata": {}, 
      "type": "string", 
      "name": …
Run Code Online (Sandbox Code Playgroud)

python pyspark

5
推荐指数
1
解决办法
371
查看次数

标签 统计

pyspark ×1

python ×1