Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python NotImplementedError:具有分组映射UDF的返回类型无效_Python_Pandas_Apache Spark_Pyspark - Fatal编程技术网

Python NotImplementedError:具有分组映射UDF的返回类型无效

Python NotImplementedError:具有分组映射UDF的返回类型无效,python,pandas,apache-spark,pyspark,Python,Pandas,Apache Spark,Pyspark,我的UDF输出模式包含以下字段: Out[183]: [StructField(id,StringType,true), StructField(2018-01-01,StructType(List(StructField(real,FloatType,true),StructField(imag,FloatType,true))),true), StructField(2018-01-02,StructType(List(StructField(real,FloatType,true),S

我的UDF输出模式包含以下字段:

Out[183]: [StructField(id,StringType,true),
 StructField(2018-01-01,StructType(List(StructField(real,FloatType,true),StructField(imag,FloatType,true))),true),
 StructField(2018-01-02,StructType(List(StructField(real,FloatType,true),StructField(imag,FloatType,true))),true),
 StructField(2018-01-03,StructType(List(StructField(real,FloatType,true),StructField(imag,FloatType,true))),true),
 StructField(2018-01-04,StructType(List(StructField(real,FloatType,true),StructField(imag,FloatType,true))),true),
 StructField(2018-01-05,StructType(List(StructField(real,FloatType,true),StructField(imag,FloatType,true))),true),
 StructField(2018-01-06,StructType(List(StructField(real,FloatType,true),StructField(imag,FloatType,true))),true),
 StructField(2018-01-07,StructType(List(StructField(real,FloatType,true),StructField(imag,FloatType,true))),true),
 StructField(2018-01-08,StructType(List(StructField(real,FloatType,true),StructField(imag,FloatType,true))),true),
 ...
属于以下类型:
Out[185]:pyspark.sql.types.StructType

我试图输出的是一个id为
id
的列,而其余的列是包含两个浮点数的元组。下面是定义模式的代码,它基本上为不是
id
的每一列定义
StructType()
元组

fields = []
for f in json.loads(skeleton_schema.json())["fields"]:
  if f["name"] != "id":
    fields.append(StructField(f["name"], StructType([ 
          StructField(FloatType(), True),
          StructField(FloatType(), True)
        ]), True))
  else:
      fields.append(StructField.fromJson(f))
output_schema = StructType(fields)

但是,当运行我的UDF时,我会收到一个
NotImplementedError
,输出会打印出我的整个架构,并说它不受支持。什么是不支持的,我做错了什么?

经过更多的调试,我发现嵌套结构类型不受支持。已找到支持的类型。

您还可以检查哪些类型尚不受支持。