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文件中,覆盖之前的文件
有没有办法在读取镶木地板文件时更改列的数据类型?
我正在使用 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文件中,覆盖之前的文件