我正在运行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'未定义
基本上,我在这里关注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()]