от
Я определил внешнюю таблицу для группы разделенных файлов паркета следующим образом:
CREATE EXTERNAL TABLE foobarbaz (
      src_file string,
      [...]
      temperature string
      )
      PARTITIONED BY (dt string)
      STORED AS PARQUET
      LOCATION '{1}'
Если я тогда бегу
df = spark.table(foobarbaz)
print(df.count())
Я получаю правильный ненулевой результат. Если я бегу
df = spark.table(foobarbaz)
df.show()
PySpark повышает   py4j.protocol.Py4JJavaError: Произошла ошибка при вызове o95.showString. [...] Вызвано: java.lang.UnsupportedOperationException Зачем? полный возврат              

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Я обнаружил проблему, характерную для моей ситуации, которая все еще может иметь отношение к будущим читателям. Я извлек схему, используя паркетные инструменты. Один столбец был указан как
int96
, поэтому в определении схемы я наивно использовал тип
int
для этого столбца. Более тщательное расследование показало, что колонка была типа
datetime
. Изменение определения схемы соответственно решило проблему.     
...