gpt4 book ai didi

r - 使用 sparklyr 指定列类

转载 作者:可可西里 更新时间:2023-11-01 14:56:22 25 4
gpt4 key购买 nike

我正在尝试使用“spark_read_csv()”函数的“列”参数。我正在尝试使用 sparklyr 从 hdfs 导入一个 csv 文件,我想知道如何指定单个变量类或所有变量类。

require(sparklyr)
named_vct_colclasses <- c("character", "integer", "integer")
db_in <- spark_read_csv(sc, "spark_tbl_name", "path_to_file",
infer_schema = FALSE,
columns = named_vct_colclasses)

csv 已正确导入,但我无法强加列类。

我尝试过使用命名向量,但效果不佳。这是我想使用 spark_read_csv() 重现的常用 read.csv 命令

read.csv("path_to_file", colClasses = c("character", rep("integer", 2))

 read.csv("path_to_file", colClasses = c("var_name" = "character"))

谢谢

最佳答案

我知道这有点晚了,但是使用命名向量或列表是可行的。查看示例代码:

library(dplyr)
library(sparklyr)


sc <- spark_connect(master='local', version='2.0.2')

iris_tbl<-copy_to(sc,iris)
spark_write_csv(iris_tbl,"iris.csv")
columns<-c("numeric","numeric","numeric","numeric","character")
names(columns)<-colnames(iris)
spark_read_csv(sc,"iris","iris.csv",infer_schema = FALSE,columns = columns)

附言。确保列名称与 CSV 中的名称完全相同,例如列名称从“.”更改为写入 CSV 时分隔为 '_' 分隔。

> colnames(iris)
[1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
> colnames(iris_tbl)
[1] "Sepal_Length" "Sepal_Width" "Petal_Length" "Petal_Width" "Species"

关于r - 使用 sparklyr 指定列类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42413580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com