gpt4 book ai didi

python - 如何将 printSchema 的结果保存到 PySpark 中的文件中

转载 作者:行者123 更新时间:2023-11-28 17:06:13 27 4
gpt4 key购买 nike

我在 pyspark 中使用了 df.printSchema(),它为我提供了具有树结构的架构。现在我需要将它保存在变量或文本文件中。

我尝试了以下保存方法,但没有用。

v = str(df.printSchema())  
print(v)
#and
df.printSchema().saveAsTextFile(<path>)

我需要以下格式的保存模式

|-- COVERSHEET: struct (nullable = true)                              
| |-- ADDRESSES: struct (nullable = true)
| | |-- ADDRESS: struct (nullable = true)
| | | |-- _VALUE: string (nullable = true)
| | | |-- _city: string (nullable = true)
| | | |-- _primary: long (nullable = true)
| | | |-- _state: string (nullable = true)
| | | |-- _street: string (nullable = true)
| | | |-- _type: string (nullable = true)
| | | |-- _zip: long (nullable = true)
| |-- CONTACTS: struct (nullable = true)
| | |-- CONTACT: array (nullable = true)
| | | |-- element: struct (containsNull = true)
| | | | |-- _VALUE: string (nullable = true)
| | | | |-- _name: string (nullable = true)
| | | | |-- _type: string (nullable = true)

最佳答案

你需要 treeString(出于某种原因,我在 python API 中找不到)

#v will be a string
v = df._jdf.schema().treeString()

您可以将其转换为 RDD 并使用 saveAsTextFile

sc.parallelize([v]).saveAsTextFile(...)

或者使用 Python 特定的 API 将字符串写入文件。

关于python - 如何将 printSchema 的结果保存到 PySpark 中的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50816767/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com