我正在关注有关Web(Adobe)分析的教程,我想在其中建立马尔可夫链模型。 http://datafeedtoolbox.com/attribution-theory-the-two-best-models-for-algorithmic-marketing-attribution-implemented-in-apache-spark-and-r/ )。

在示例中,他们使用以下函数: concat_ws (来自library(sparklyr))。 但是它似乎不存在该功能(在安装软件包并调用库之后,我收到一个该功能不存在的错误……)。

博客的评论作者: concat_ws是Spark SQL函数: https : //spark.apache.org/docs/2.2.0/api/java/org/apache/spark/sql/functions.html因此,您将拥有依靠sparklyr使该功能起作用。

我的问题:是否有变通办法来访问concat_ws()函数? 我试过了:

该功能的目标是什么? 使用给定的分隔符将多个输入字符串列连接到一个字符串列中。

#1楼 票数:2 已采纳

您可以简单地使用基数R中的paste

library(sparklyr)
library(dplyr)

config <- spark_config()
sc <- spark_connect(master = "local", config = config)

df <- as.data.frame(cbind(c("1", "2", "3"), c("a", "b", "c")))
sdf <- sdf_copy_to(sc, df, overwrite = T)

sdf %>%
  mutate(concat = paste(V1, V2, sep = "-"))

#2楼 票数:2

您找不到该函数,因为它在sparklyr软件包中不存在。 concat_ws是Spark SQL函数( org.apache.spark.sql.functions.concat_ws )。

sparklyr取决于SQL转换层-使用dbplyr将函数调用转换为SQL表达式:

> dbplyr::translate_sql(concat_ws("-", foo, bar))
<SQL> CONCAT_WS('-', "foo", "bar")

这意味着该函数只能在sparklyr上下文中应用:

sc <- spark_connect(master = "local[*]")
df <- copy_to(sc, tibble(x="foo", y="bar"))

df %>% mutate(xy = concat_ws("-", x, y))
# # Source: spark<?> [?? x 3]
#   x     y     xy     
# * <chr> <chr> <chr>  
# 1 foo   bar   foo-bar

  ask by R overflow translate from so

未解决问题?本站智能推荐:

1回复

如何使用invoke在Sparklyr中调用Spark函数

我正在尝试在RStudio的Sparklyr中使用invoke来对HDFS中的文本文件进行简单的字数统计,但还没有弄清楚语法。 我可以通过使用(类似于上扩展的SparklyR文档计数的例子-让整个文件回为一个列表http://spark.rstudio.com/extensions.html
1回复

Sparklyr中如何正确使用特征转换函数

假设我想在数据集的每一列上使用ft_max_abs_scaler 。 这是文档中的内容: 请注意, ft_vector_assembler创建一个新列features_temp和ft_max_abs_scaler创建另一个新列features 。 现在假设我想将向量分解为单独的列,我必须这样做: 由
2回复

如何使用“sparklyr”包在R中实现lapply函数

我对Spark非常陌生,我试图在网络上查找内容,但没有找到令人满意的结果。 我一直使用命令mclapply运行并行计算,并且喜欢它的结构(即,第一个参数用作滚动索引,第二个参数用作要并行化的函数,然后将其他可选参数传递给该函数)。 现在,我试图通过Spark做同样的事情,即,我想在Spar
2回复

Sparklyr中缺少值

我正在尝试计算Sparklyr中DataFrame中特定库仑的缺失值,如下所示 但是返回的结果是数据框中的总行数。 我错过了什么吗? 请指出。
2回复

计算Sparklyr中的累积和

如何计算 sparklyr 中的累积总和? dplyr: cumsum不是cumsum中包含的函数,我如何在 sparklyr 中重现它? 我认为 spark SQL 将如下所示?: 更新: cumsum是一个可以在 sparklyr 中使用的函数,它只需要先调用一个排列动词(这在本地 r 中不
1回复

使用Sparklyr的R回调函数

我希望用mapPartitions和减少火花(功能http://spark.apache.org/docs/latest/programming-guide.html ),使用sparklyr。 在pyspark中很容易,我唯一需要使用的就是一个简单的python代码。 我可以简单地将py
1回复

Sparklyr中R的list()函数的等效功能是什么?

下面是一个示例R代码。 我想在sparklyr中做同样的事情。 其中Pdt_table是Spark数据帧,Main_CustomerID,Invoice_ID和Industry是变量。 我想创建上述变量的列表,并将其转换为矢量。 我该如何在sparklyr做到这sparklyr ?
1回复

什么聚合函数可以与sparklyr中的sdf_pivot一起使用?

尝试将sdf_pivot与sdf_pivot的开发版本sparklyr 。 唯一可行的聚合函数是count 。 如果我尝试sum或avg我得到一个异常,说明No matched method found for class org.apache.spark.sql.RelationalGro