我正在运行 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()]
关于python - 无法将 StructField 与 PySpark 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41386557/