Sparklyr - Как изменить типы данных паркета

Есть ли способ изменить типы данных столбцов при чтении паркетных файлов? Я использую функцию spark_read_parquet из Sparklyr, но у нее нет опции columns (из spark_read_csv) для ее изменения.

В файлах csv я бы сделал что-то вроде:

data_tbl <- spark_read_csv(sc, "data", path, infer_schema = FALSE, columns = list_with_data_types)

Как я могу сделать что-то подобное с файлами parquet?


person Igor    schedule 24.07.2017    source источник


Ответы (1)


Указание типов данных имеет смысл только при чтении формата данных, который не имеет встроенных метаданных для типов переменных. Так обстоит дело с файлами csv или fwf, которые, самое большее, имеют имена переменных в первой строке. Таким образом, функции чтения для таких файлов обладают такой функциональностью.

Такая функциональность не имеет смысла для форматов данных, которые имеют встроенные типы переменных, таких как Parquet (или .Rds и .Rds в R).

В этом случае вам следует:

а) прочитать файл Parquet в Spark b) выполнить необходимые преобразования данных c) сохранить преобразованные данные в файл Parquet, перезаписав предыдущий файл

person LucasMation    schedule 25.07.2017