当我在星火环境中打开一个数据集(的.csv)与spark_read_csv,并要求相关tibble对象的尺寸,没有行,但NA的数量。缺什么,当我打开CSV文件?
以下是我得到:
data = spark_read_csv(
spark_conn, name = "Advert", path = "/path/to/file",
header = TRUE, delimiter = ","
)
dim(data)
[1] NA 5
一般来说,当你与一个数据库或类似数据库的系统备份数据的工作,不能在没有查询的全部或部分评估确定的行数,并支付这样的操作的价格。
在火花的情况下,它可能意味着从远程存储获取数据,解析和聚集。
因为nrow
(同被设计在内存中记数据的一些其他操作)在dplyr
的/ dbplyr
总是返回NA
。
相反,你可以使用dplyr::summarise
与n
df <- copy_to(sc, iris)
df %>% summarise(n=n())
# Source: spark<?> [?? x 1]
n
<dbl>
1 150
dplyr::count
df %>% count()
# Source: spark<?> [?? x 1]
n
<dbl>
1 150
或sparklyr::sdf_nrow
:
df %>% sparklyr::sdf_nrow()
[1] 150
其中最后一个选项可能是你在找什么。