问题标签 [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 回答
1046 浏览

r - MAPR/Spark 上的 RStudio/Sparklyr - 替换为 . 在字符串中

我有一个带有以下因子列的 Spark 数据框 tbl_pred:

我喜欢将这些“字符串”转换为数值。我可以使用 as.numeric 函数,但这不起作用,因为我的分隔符是逗号。

通常我会使用 sub 函数将 , 替换为 . 但此功能不适用于我的 Spark 数据框对象。

有人有将值转换为数字的解决方案吗?

提前致谢,

J。

0 投票
2 回答
360 浏览

r - sparklyr 中的运行长度 ID

data.table提供了一个rleid我认为无价的功能 - 当观察到的变量发生变化时,它充当一个代码,由其他一些变量排序。

期望的结果是

我想知道是否可以使用sparklyr. 测试时,我发现我能做的最好的事情就是达到我需要做一个填充的点,但后来无法做到这一点。

我尝试过使用SparkR,但我更喜欢sparklyr界面及其易用性,因此我最好能够在 Spark SQL 中执行此操作。

当然,我已经可以通过将数据划分为足够小的块、collect运行它、运行一个函数并将其发回来做到这一点。

对于上下文,我发现rleid它有用的原因是我处理了大量的火车数据,并且能够索引它的运行情况很有用。

感谢您的帮助

0 投票
1 回答
472 浏览

r - sparklyr + rsparkling:连接到集群时出错

一段时间以来,我使用sparklyr包连接到公司的 Hadoop 集群,使用以下代码:

一切正常,但是当我尝试rsparkling使用类似代码添加包时:

我收到错误:

强制错误(代码):
在 sessionid (9819) 连接到 sparklyr 到端口 (8880) 时失败:Sparklyr 网关在 60 秒后检索端口信息时没有响应路径:/opt/spark-2.0.0-bin-hadoop2。 6/bin/spark-submit 参数:--class, sparklyr.Backend,--packages, 'ai.h2o:sparkling-water-core_2.11:2.0','ai.h2o:sparkling-water-ml_2.11: 2.0','ai.h2o:sparkling-water-repl_2.11:2.0', '/usr/lib64/R/library/sparklyr/java/sparklyr-2.0-2.11.jar', 8880, 9819

---- 输出日志 ----
Ivy 默认缓存设置为:/opt/users/user/.ivy2/cache 包的 jar 存储在:/opt/users/user/.ivy2/jars :: loading settings :: url = jar:file:/opt/spark-2.0.0-bin-hadoop2.6/jars/ivy-2.4.0.jar!/org/apache/ivy/core/settings/ivysettings.xml ai.h2o #sparkling-water-core_2.11 作为依赖项添加 ai.h2o#sparkling-water-ml_2.11 作为依赖项添加 ai.h2o#sparkling-water-repl_2.11 作为依赖项添加 :: 解决依赖项 :: org. apache.spark#spark-submit-parent;1.0 confs:[默认]

---- 错误日志 ----
另外:警告消息:1:在 if (nchar(config[[e]]) == 0) found <- FALSE 中:条件的长度为 1,只有第一个元素会使用 2:在 if (nchar(config[[e]]) == 0) found <- FALSE 中:条件的长度为 1,仅使用第一个元素

我是新手,spark现在clusters不确定该怎么做。任何帮助将不胜感激。我的第一个想法是缺少jar文件,sparkling watercluster吗?

0 投票
1 回答
435 浏览

r - 使用 sparklyr 将 Spark 数据帧转换为 R 中的术语文档矩阵

我在 R 中有一个代码,需要对其进行缩放以使用大数据。我为此使用 Spark,似乎最方便的软件包是 sparklyr。但是,我无法从 Spark 数据框创建 TermDocument 矩阵。任何帮助都会很棒。

input_key 是具有以下模式的数据框。

我在 R 中的代码如下。

0 投票
0 回答
598 浏览

r - Sparklyr 收集时“将 nul 嵌入字符串”

在 RI 中有一个 spark 连接和一个 DataFrame 作为ddf.

由于它不是很多行,我想将其拉入内存以应用一些机器学习魔法。但是,似乎无法收集某些行。

第二行代码抛出Error in rawToChar(raw) : embedded nul in string:错误。它失败的列/行有一些字符串数据。由于head %>% collect作品表明某些行似乎失败,而其他行则按预期工作。

我该如何解决这个错误,有没有办法清理这个错误?错误实际上是什么意思?

0 投票
1 回答
524 浏览

r - 使用 sparklyr 指定列类

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

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

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

或者

谢谢

0 投票
1 回答
1030 浏览

r - 如何使用 sparklyr 在 Spark 集群中存储数据?

如果我连接到 Spark 集群,将一些数据复制到其中,然后断开连接,...

然后下次我连接到 Spark 时,数据不存在。

这与使用数据库的情况不同,无论连接多少次,数据都在那里。

如何在连接之间将数据持久保存在 Spark 集群中?

我想sdf_persist()可能是我想要的,但似乎不是。

0 投票
1 回答
577 浏览

r - 无法使用 spark 会话、sparklyr 和 R 加载 Cassandra 表

我正在使用 Spark 2.1.0 并尝试连接 Cassandra 集群。我使用了最新的 sparklyr。我已将默认配置设置为以下默认值:

jar 位于源文件所在的根目录中。

我执行了以下操作。一切都很顺利,直到我尝试调用读取函数。我已经明确设置了 jar 位置。

当我尝试调用读取函数时,运行时无法找到罐子。我目睹了以下错误:

0 投票
1 回答
743 浏览

r - Sparklyr copy_to 失败

我正在使用 Sparklyr 库将数据从 R 读取和写入 HDFS。读取数据按预期工作,但写入会出现问题。

为了能够使用 spark_write_csv 函数,我需要将我的 R data.frames 转换为 Spark 对象。我为此使用了 sparklyr sdf_copy_to 函数(也尝试使用 copy_to)。但是,我总是收到错误

代码:

错误:

错误:org.apache.hadoop.mapred.InvalidInputException:输入路径不存在:hdfs://iacchadoopdev01.dap:8020/tmp/Rtmp2gpelH/spark_serialize_62547a7b0f9ad206fd384af04e585deb3a2636ca7b1f026943d4cc1d11c7759a.csv

有人遇到过同样的问题并且知道如何解决吗?

一个可能的原因可能是 sdf_copy_to 函数将数据存储到我的 linux /tmp 文件夹中,而 write 函数正在寻找 HDFS /tmp 文件夹中的数据。

0 投票
1 回答
547 浏览

r - 通过 sparklyr 将 cassandra 表导入 spark - 可以只选择某些列吗?

我一直在努力sparklyr将大型 cassandra 表带入 spark,用 R 注册这些表并对dplyr它们进行操作。

我已经使用如下代码成功导入了 cassandra 表:

其中一些 cassandra 表非常大(> 85 亿行)并且需要一段时间来导入/注册,有些会导致内存溢出,即使有 6 个节点运行总共 60 个内核和 192gb RAM。但是,我通常只需要每个 cassandra 数据库中的一些列。

我的问题是:

  1. 是否可以在导入/注册时过滤 cassandra 数据库,使其仅导入某些列,或者在主键上对其进行过滤(即通过传递SQL/CQL类型查询,例如SELECT name FROM cass_table WHERE id = 5)?
  2. 在上面的代码中,这样的查询会放在哪里,语法采用什么形式?

我尝试在选项列表中添加这样的查询作为附加选项,即:

以及在之前将其作为单独的管道调用%>% invoke("load"),即:

但这些都行不通。有什么建议么?