Pyspark schema treeString到schema对象

n3schb8v  于 2023-10-15  发布在  Spark
关注(0)|答案(2)|浏览(106)

我在一个txt文件中有printSchema()的输出(一个treeString)。是否有pyspark API来解析字符串并创建模式对象?
输入示例:

root
 |-- num: long (nullable = true)
 |-- letter: string (nullable = true)

输出示例:Spark模式对象
StructType(List(StructField(num,LongType,true),StructField(letter,StringType,true)))

irlmq6kh

irlmq6kh1#

据我所知,没有这样的事情来转换一个大输出打印(来自printSchema() that basically returns None.到一个实际的pyspark对象。为了做到这一点,您必须自己创建模式。
写一个解析器来为你做这件事,但它很没用,只需要使用DF.schema来返回你需要的东西。

gupuwyp2

gupuwyp22#

这不是完全相同的,但应该工作。使用json string代替treeString。

import json
from pyspark.sql.types import StructType

serialized = df.schema.json()
deserialized = StructType.fromJson(json.loads(serialized))

相关问题