Sparklyr - 如何更改镶木地板数据类型

Sparklyr - How to change the parquet data types

有没有办法在读取镶木地板文件时更改列的数据类型? 我正在使用 Sparklyr 的 spark_read_parquet 函数,但它没有 columns 选项(来自 spark_read_csv)来更改它。

csv 文件中,我会做类似的事情:

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

如何对 parquet 文件做类似的事情?

只有在读取没有内置变量类型元数据的数据格式时,指定数据类型才有意义。 csv 或 fwf 文件就是这种情况,它们最多在第一行有变量名。因此,此类文件的读取功能具有该功能。

这种功能对于内置变量类型的数据格式没有意义,例如 Parquet(或 R 中的 .Rds 和 .Rds)。

在这种情况下,您应该:

a) 将 Parquet 文件读入 Spark b) 进行必要的数据转换 c) 将转换后的数据保存到Parquet文件中,覆盖之前的文件