gpt4 book ai didi

pyspark - 创建涉及 ArrayType 的 Pyspark 架构

转载 作者:行者123 更新时间:2023-12-02 07:23:05 26 4
gpt4 key购买 nike

我正在尝试为我的新 DataFrame 创建一个架构,并尝试了括号和关键字的各种组合,但无法弄清楚如何完成这项工作。我目前的尝试:

from pyspark.sql.types import *

schema = StructType([
StructField("User", IntegerType()),
ArrayType(StructType([
StructField("user", StringType()),
StructField("product", StringType()),
StructField("rating", DoubleType())]))
])

返回错误:

elementType should be DataType
Traceback (most recent call last):
File "/usr/hdp/current/spark2-client/python/pyspark/sql/types.py", line 290, in __init__
assert isinstance(elementType, DataType), "elementType should be DataType"
AssertionError: elementType should be DataType

我用谷歌搜索过,但到目前为止还没有对象数组的好例子。

最佳答案

您需要为 ArrayType 属性添加一个额外的 StructField。这个应该可以工作:

from pyspark.sql.types import *

schema = StructType([
StructField("User", IntegerType()),
StructField("My_array", ArrayType(
StructType([
StructField("user", StringType()),
StructField("product", StringType()),
StructField("rating", DoubleType())
])
)
])

有关更多信息,请查看此链接:http://nadbordrozd.github.io/blog/2016/05/22/one-weird-trick-that-will-fix-your-pyspark-schemas/

关于pyspark - 创建涉及 ArrayType 的 Pyspark 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48394717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com