问题标签 [sparklyr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
90 浏览

r - Sparklyr (R Studio) 中的命令

sparklyr 中的 sdf_register 和 copy_to 命令有什么区别?

你什么时候使用每个命令?

0 投票
1 回答
580 浏览

r - 在 Spark(R) 中进行计算

我正在使用sparklyr图书馆。

我有一个变量,wtd我将其复制到 spark:

然后我想做一个计算并将其存储在 spark 中,而不是在我的 R 环境中。

当我尝试:

UseMethod(“sdf_register”)中的错误:没有适用于“sdf_register”的方法应用于类“c('tbl_df','tbl','data.frame')”的对象

该命令wtd2 = wtd %>% group_by(c,b) %>% filter(row_number()==1) %>%count(d)可以正常工作,但这会将其存储在我的环境中,而不是火花中。

0 投票
1 回答
725 浏览

r - Sparklyr - 无法实例化 SessionHiveMetaStoreClient

当尝试使用 sparklyr (0.5.3) 库(云中的同一台机器)从 R Studio 连接到 Spark 集群(Spark 2.0.1)时,我收到如下错误。看起来需要一个 md_metastore,但无法实例化。
我没有 hive-site.xml 配置文件(不确定这是否是个问题)。

有什么想法可能是错的吗?

谢谢, 迈克尔

日志消息:

0 投票
2 回答
510 浏览

apache-spark - 在带有 apache 集群的本地 RStudio 上使用 sparklyr

我是 Sparklyr 的新手,对 R 来说也很新。我想知道我是否可以在本地 RStudio 上运行 sparkly 并连接到网络上的 apache spark 集群。所有博客示例都讨论了直接在 apache spark 集群上运行 RStudio Server。任何人都可以验证这是否可能?

0 投票
0 回答
362 浏览

r - 将 Sparklyr 数据帧转换为 SparkR 数据帧

我目前的方法是将我的sparklyr数据框保存为 tmp 文件夹中的 parquet 文件,并使用 SparkR 读取它。我想知道是否有更优雅的方式。

另一种方法是sparklyr仅使用正常的 R。但这将是一个单独的讨论

0 投票
1 回答
3039 浏览

r - Sparklyr:如何将列表列分解为 Spark 表中自己的列?

我的问题与此处的问题相似,但我在实现答案时遇到了问题,我无法在该线程中发表评论。

所以,我有一个包含嵌套数据的大 CSV 文件,其中包含由空格分隔的 2 列(比如第一列是 Y,第二列是 X)。X 列本身也是一个逗号分隔值。

我想使用sparklyr.

到目前为止,这就是我一直在做的事情:

  1. 用于spark_read_csv将所有 CSV 内容导入 Spark 数据表

    df = spark_read_csv(sc, path = "path", name = "simData", delimiter = " ", header = "false", infer_schema = "false")

    结果是一个simData以 2 列命名的 Spark 表:C0C1

  2. 用于dplyr选择第一列和第二列,然后将它们分别注册为名为 Y 和 X 的新表

    simY <- df %>% select(C0) %>% sdf_register("simY")

    simX <- df %>% select(C1) %>% sdf_register("simX")

  3. 拆分simX使用ft_regex_tokenizer函数中的值,关于这里写的答案。

    ft_regex_tokenizer(input_DF, input.col = "COL", output.col = "ResultCols", pattern = '\\###')

但是当我尝试head使用它时dplyr

我想把它变成一个新的 Spark 表并将类型转换为双精度。有没有办法做到这一点?我已经考虑collect将数据转换为 R(使用dplyr),转换为矩阵,然后strsplit为每一行做,但我认为这不是一个解决方案,因为 CSV 大小可以达到 40GB。

编辑:Spark 版本是 1.6.0

0 投票
1 回答
969 浏览

r - Sparklyr:如何基于列将 Spark 表居中?

我有一个 Spark 表:

simX_tbl以及在连接到此simx表的 R 环境中命名的句柄。

我想为这张表做一个居中,这是用它的列平均值减去每一列。例如,计算x0 - mean(x0),等等。

到目前为止,我最大的努力是:

for当我将循环限制为几次迭代(1:5)时,这实际上有效,x_centered %>% head结果是正确的。但是当我为 789 次迭代执行此操作时,当我尝试head它时会出现此错误:

以下是我已经尝试过的显示 C 堆栈使用错误的输出方法:

稍后我需要计算每列的相关系数,但我认为我不能输出这个错误。

有什么方法可以正确/有效地进行居中?我读过这个关于提高 Cstack 限制的问题,但我认为这不是一个解决方案,因为数据非常大,并且存在更大数据再次超限的风险。实际数据为 40GB+,而我目前使用的数据只是一个小样本(789 列 x 10000 行)。

Spark 版本为 1.6.0

编辑:使标题更清晰,添加尝试过的输出方法

0 投票
1 回答
824 浏览

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

我正在尝试在 RStudio 的 Sparklyr 中使用调用来对 HDFS 中的文本文件进行简单的字数统计,但尚未弄清楚语法。我可以通过使用(类似于 SparklyR doc on extensions - http://spark.rstudio.com/extensions.html中的计数示例)将整个文件作为列表取回:

我想要做的是该文本文件上的平面图来执行经典的 scala 代码:

但是甚至还没有弄清楚调用的语法。flatMap 是 textFile 的一个方法。肯定有人以前这样做过,我只是想不对。

谢谢!

0 投票
1 回答
762 浏览

r - Sparklyr:如何计算 2 个 Spark 表之间的相关系数?

我有这 2 个 Spark 表:

在这两个表中,每列具有相同数量的值。表xy都分别保存到句柄simX_tblsimY_tbl中。实际数据量很大,可能达到40GB。

我想计算其中每一列的相关系数simxsimy比如说像cor(x0, y0, 'pearson'))。

我到处搜索,我认为没有任何现成的cor功能,所以我正在考虑使用相关公式本身(就像这里提到的那样)。

基于我上一个问题中的一个很好的解释,我认为使用mutate_allormutate_each不是很有效,并且给出了C stack error更大的数据大小,所以我考虑改用直接invoke调用函数Spark

到目前为止,我设法到达这里:

计算. sum_ simx但是后来,我意识到我还需要计算simy表格,而且我不知道如何将两个表格交互在一起(例如,simy在操作时访问simx)。

有什么方法可以更好地计算相关性?或者也许只是如何与其他 Spark 表交互。

我的 Spark 版本是 1.6.0

编辑:我尝试使用以下combine功能dplyr

但我不确定这是否是一个好的解决方案,因为:

  1. 需要加载到 R 内部的数据框中,我认为这对于大数据不实用
  2. 尝试head处理xydata时,列名变为所有值的连接

    c_1_67027262134984_2_44919662134984_1_85728542134984_1_49317262134984_
    1 1.670273
    2 2.449197
    3 1.857285
    4 1.493173
    5
    -5671.5768557.6

0 投票
0 回答
426 浏览

r - Sparklyr:如何在 Spark 表中的列和 R 数据帧之间应用操作?

我有这个 Spark 表:

R环境中的这个数据框:

表和数据框中的行数相同。

我想用in减去y值,就像.xydatappenaltyy = y - p

有没有办法做到这一点?我知道我可以使用mutateto update y,只能在同一张表中使用。

我正在考虑将这两个表合并到一个新的 Spark 表中:

这样我就可以使用mutate(y = y - p),但我又找不到合并两个表的好方法。我试图dplyr::combine我的另一个问题中使用,但结果并不令人满意。

数据量很大,它可以达到 40GB,将来可能会更多,因此 -collect将所有表放入 R 环境中,然后在 R 中进行操作(cbind然后导出为 Spark 表tbl)不是一种选择。