示例示例数据
Si K Ca Ba Fe Type
71.78 0.06 8.75 0 0 1
72.73 0.48 7.83 0 0 1
72.99 0.39 7.78 0 0 1
72.61 0.57 na 0 0 na
73.08 0.55 8.07 0 0 1
72.97 0.64 8.07 0 na 1
73.09 na 8.17 0 0 1
73.24 0.57 8.24 0 0 1
72.08 0.56 8.3 0 0 1
72.99 0.57 8.4 0 0.11 1
na 0.67 8.09 0 0.24 1
我们可以使用以下代码将数据加载到sparklyr
sdf_copy_to(sc,sampledata)
我正在寻找一个返回具有NA值的列的查询 例如
si k ca fe
1 1 1 2
答案 0 :(得分:0)
由于tbl_spark
实现以及Spark和R语义中的不兼容性,这个问题实际上有点棘手。即使可以应用colSums
,Spark SQL也不允许在布尔值和数字之间进行隐式转换。这意味着您必须明确应用as.numeric
:
library(dplyr)
sampledata <- copy_to(sc, data.frame(x=c(1, NA, 2), y=c(NA, 2, NA), z=42))
sampledata %>%
mutate_all(is.na) %>%
mutate_all(as.numeric) %>%
summarize_all(sum)
# Source: lazy query [?? x 3]
# Database: spark_connection
x y z
<dbl> <dbl> <dbl>
1 1 2 0