PySpark创建DataFrame报错:StructType无法接受str类型对象'anu'
PySpark创建DataFrame报错解决
错误原因
你定义的data=[('anu')]存在问题:Python中,('anu')会被解析成普通字符串'anu',而非单元素元组。而PySpark的StructType要求数据集中的每个元素是匹配schema结构的元组(或列表),因此出现StructType can not accept object 'anu' in type <class 'str'>错误。
修正方案
将单元素的表达式加上逗号明确声明为元组,或者改用列表格式:
修正后的完整代码
from pyspark.sql.types import StringType, StructField, StructType from pyspark.sql import SparkSession schema = StructType([StructField('name', StringType())]) # 方式1:单元素元组加逗号 data = [('anu',)] # 方式2:改用列表格式 # data = [['anu']] spark = SparkSession.builder.appName("testing").getOrCreate() df = spark.createDataFrame(data, schema) # 打印验证结果 df.show()
内容的提问来源于stack exchange,提问作者Anubhav Swaroop
相关产品推荐
相关产品推荐

