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

标签 python apache-spark pyspark

我正在运行 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/

相关文章:

Python 3 中缀运算符

scala - 如何计算单个groupBy中的总和和计数?

scala - 在 udf 中使用 Try 匹配进行错误处理 - 并记录失败的行

scala - Apache Spark 共享计数器

python - 如何将 pyspark.sql.dataframe.DataFrame 转换回 databricks notebook 中的 sql 表

python - 如何使用 vpython 库描绘球形物体上的小电荷?

python - 是否可以防止 SQLAlchemy 中的循环导入,并且仍然在不同的文件中拥有模型?

scala - 如何解决 "Can' t分配请求的地址: Service 'sparkDriver' failed after 16 retries"when running spark code?

python - SnowflakeSQLException 错误代码 : 390100, 消息:指定的用户名或密码不正确

python - 消息 "Matplotlib is currently using agg"和 Matplotlib 不显示图像