无法将StructField与PySpark一起使用

时间:2016-12-29 20:13:51

标签: 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'未定义

基本上,我在此处遵循Spark文档:https://spark.apache.org/docs/1.3.0/sql-programming-guide.html

很奇怪,如果我删除for循环并执行此操作,则可以:

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

2 个答案:

答案 0 :(得分:3)

适用于以下代码。 StructFieldStringType的文件。虽然1.3很老了。

from pyspark.sql.types import *
schemaString = "name age"

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

答案 1 :(得分:0)

也许您应该导入如下软件包:

import json 

for x in games_json['columns']:
    print(x)
    print(x['name'])