Skip to main content
 首页 » 编程设计

python之无法将 StructField 与 PySpark 一起使用

2024年08月21日39jackei

我正在运行 PySpark shell,但无法创建数据框。我已经完成了

import pyspark 
from pyspark.sql.types import StructField 
from pyspark.sql.types import StructType 

全部返回,没有任何错误。

然后我尝试运行这些命令:

schemaString = "name age" 
fields = [StructField(field_name, StringType(), True) for field_name in schemaString.split()] 

并不断收到错误:`name 'StructField' is not defined

基本上,我在这里关注 Spark 文档:https://spark.apache.org/docs/1.3.0/sql-programming-guide.html

很奇怪,如果我删除 for 循环并执行此操作,它会起作用:

fields = [StructField('field1', StringType(), True)] 

请您参考如下方法:

它适用于以下代码。 StructField 的文档和 StringType .虽然 1.3 已经很老了。

from pyspark.sql.types import * 
schemaString = "name age" 
 
fields = [StructField(field_name, StringType(), True)  
    for field_name in schemaString.split()]