Я могу создать Pyspark DataFrame с столбцом Maptype, ключом которого является Arraytype. Метод Show () работает DataFrame, но метод collect () выбрасывает исключение: < /p>
> return cloudpickle.loads(obj, encoding=encoding)
E TypeError: unhashable type: 'list'
< /code>
Согласно документации Pyspark, это должно быть возможно: Maptype поддерживает ключи типа DataType и Arraytype Forheres от DataType.from pyspark.sql import SparkSession
from pyspark.sql.types import MapType, ArrayType, StringType, IntegerType
schema = MapType(ArrayType(StringType()), IntegerType())
data = [{("A", "B"): 10, ("X", "Y", "Z"): 20}]
df = spark.createDataFrame(data, schema)
df.show() # works
df.collect() # throws exception
< /code>
Примечания: < /p>
Я хочу сохранить редкие массивы в этой структуре < /li>
Я знаю, что список изменен и поэтому не может использоваться в качестве ключа в питоне.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... -exception
Pyspark Maptype с Arraytype в качестве броска ключей ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение