有没有办法在读取镶木地板文件时更改列的数据类型?
我使用了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)
我怎么能用实木复合地板文件做类似的事情?
答案 0 :(得分:3)
仅在读取没有变量类型的内置元数据的数据格式时才指定数据类型。这是csv或fwf文件的情况,最多在第一行中有变量名。因此,这些文件的读取功能具有该功能。
这种功能对于内置变量类型的数据格式没有意义,例如Parquet(或R中的.Rds和.Rds)。
在这种情况下你应该:
a)将Parquet文件读入Spark b)进行必要的数据转换 c)将转换后的数据保存到Parquet文件中,覆盖以前的文件