我正在尝试定义一个模式,根据以下语法将空白列表转换为数据框:
data=[]
schema = StructType([
StructField("Table_Flag",StringType(),True),
StructField("TableID",IntegerType(),False),
StructField("Entry_No",StringType(),True),
StructField("Dimension_Code",StringType(),True),
StructField("Dimension_Value_Code",StringType(),True)
])
data=spark.createDataFrame(data,schema)
但它没有定义名称'IntegerType'的错误。 我尝试过使用BooleanType,DecimalType,FloatType,IntegralType但没有一个正常工作。只有StringType和DataType可用作数据类型。 根据文档types.py,IntegerType在示例中定义。
请建议。我正在研究spark版本2.0.1
答案 0 :(得分:4)
在文件开头添加导入:
TransactionTestCase
甚至更简单:
from pyspark.sql.types import IntegerType
从from pyspark.sql.types import *