gpt4 book ai didi

python - Pyspark:pyarrow.lib.ArrowInvalid: 'utf-32-le' 编解码器无法解码位置 0-3 中的字节:代码点不在范围内(0x110000)

转载 作者:行者123 更新时间:2023-12-04 12:24:23 25 4
gpt4 key购买 nike

我有一个如下所示的数据框

df.show(5, False)
+------------------------------------+-------------------+--------+-------+--------+
|ID |timestamp |accuracy|lat |lon |
+------------------------------------+-------------------+--------+-------+--------+
|00000059-eb17-4db6-8e46-0739205a7ca1|2020-01-01 11:51:43|1.0 |41.3128|-81.8566|
|00000387-5804-40b2-9196-5cfead4dc55b|2020-01-01 18:05:24|11.7 |29.4241|-98.4936|
|00000387-5804-40b2-9196-5cfead4dc55b|2020-01-01 20:11:23|15.7 |29.4241|-98.4936|
|00000387-5804-40b2-9196-5cfead4dc55b|2020-01-01 18:05:10|14.4 |29.4241|-98.4936|
|00000387-5804-40b2-9196-5cfead4dc55b|2020-01-01 18:06:02|12.4 |29.4241|-98.4936|
+------------------------------------+-------------------+--------+-------+--------+

如果我运行保持 ID 的代码列我收到此错误
pyarrow.lib.ArrowInvalid: 'utf-32-le' codec can't decode bytes in position 0-3: code point not in range(0x110000)

最佳答案

这种错误通常来自不匹配的返回类型。
例如,将 python int 转换为 pyspark StringType 时会发生,如下所示:

schema = StructType(
[
StructField("a", StringType(), True),
StructField("b", StringType(), True),
StructField("c", IntegerType(), True),
StructField("d", IntegerType(), True),
]
)

@pandas_udf(schema, PandasUDFType.GROUPED_MAP)
def test(pdf):
return pd.DataFrame([range(4)], columns=['a','b','c','d'])

some_df.groupby(xxx).apply(test)
也发生在日期时间/日期到 StringType ,所以我假设这种错误来自不匹配的返回类型。您应该检查您的代码。
对于您的情况,我认为 ID 列中可能有一些 nan-string 值。

关于python - Pyspark:pyarrow.lib.ArrowInvalid: 'utf-32-le' 编解码器无法解码位置 0-3 中的字节:代码点不在范围内(0x110000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61606781/

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