小编Igo*_*gor的帖子

R-“数据”不是从“名称空间:my_package”导出的对象

我正在编写一个使用外部数据的函数,如下所示:首先,它检查数据是否在data/文件夹中,如果不在,则创建data/文件夹,然后从github下载文件;如果数据已经在data/文件夹中,它将对其进行读取并执行计算。

问题是,当我运行时:

devtools::check()
Run Code Online (Sandbox Code Playgroud)

它返回:

Error: 'data' is not an exported object from 'namespace:my_package'
Run Code Online (Sandbox Code Playgroud)

我应该手动穿上东西NAMESPACE吗?

一个例子:

my_function <- function(x){
if(file.exists("data/data.csv")){
    my_function_calculation(x = x)
  } else {
    print("Downloading source data...")
    require(RCurl)
    url_base <-
 getURL("https://raw.githubusercontent.com/my_repository/data.csv")
    dir.create(paste0(getwd(),"/data"))
    write.table(url_base,"data/data.csv", sep = ",", quote = FALSE)
    my_function_calculation(x = x)
  }
}

my_function_calculation <- function(x = x){
    data <- NULL
    data <- suppressMessages(fread("data/data.csv"))
    #Here, I use data...
    return(data)
}
Run Code Online (Sandbox Code Playgroud)

namespaces r devtools roxygen2

8
推荐指数
2
解决办法
4497
查看次数

R - 无法使用Sparklyr从Spark收集数据

sparklyr在Windows服务器上使用Spark 2.0.2与RStudio 上的0.5.4-9004 结合使用.

每隔一段时间,当我尝试从spark服务器收集,读取或写入数据时,我收到以下错误:

Error in UseMethod("invoke") : 
  no applicable method for 'invoke' applied to an object of class "character"
Run Code Online (Sandbox Code Playgroud)

我不确定这是服务器问题,还是有问题sparklyr.

到目前为止,我必须解决这个问题的唯一方法是重新启动sparklyr与Spark 的连接.

这是我正在使用的简单代码:

sc <- spark_connect(master = "spark://####:7077")

tibble_file_parquet <- spark_read_parquet(
  sc, "file_parquet", path, overwrite = TRUE)

result <- tibble_file_parquet %>% count(x, y)

collect(result)
Run Code Online (Sandbox Code Playgroud)

r apache-spark sparklyr

5
推荐指数
0
解决办法
1368
查看次数

R-如何使用sparklyr复制spark数据框中的行

有没有一种方法可以使用sparklyr / dplyr函数复制Spark数据帧的行?

sc <- spark_connect(master = "spark://####:7077")

df_tbl <- copy_to(sc, data.frame(row1 = 1:3, row2 = LETTERS[1:3]), "df")
Run Code Online (Sandbox Code Playgroud)

这是所需的输出,保存到新的spark tbl中:

> df2_tbl
   row1  row2
  <int> <chr>
1     1     A
2     1     A
3     1     A
4     2     B
5     2     B
6     2     B
7     3     C
8     3     C
9     3     C
Run Code Online (Sandbox Code Playgroud)

r apache-spark sparklyr

5
推荐指数
1
解决办法
501
查看次数

Sparklyr - 无法使用 copy_to 将 data.frames 复制到 Spark

我正在尝试dataframe使用 Sparklyr 的函数将一个大的(大约 580 万条记录)复制到 Spark 中copy_to

首先,当使用fread( data.table)加载数据并应用该copy_to函数时,出现以下输出错误:

as.data.frame.default(x[[i]], optional = TRUE) 中的错误:无法将类 ""integer64"" 强制转换为 data.frame

然后,我将仅有的两列类型更改integer64character,然后将as.data.frame(它是 a data.table,因为我使用过fread)应用于所有数据。

copy_to再次使用,前后等了很久才出现进度条,但是返回如下结果:

invoke_method.spark_shell_connection(sc, TRUE, class, method, 中的错误:没有返回状态。Spark R 后端可能已失败。

没有数据被复制到 Spark 中。

有什么想法吗?

r apache-spark sparklyr

5
推荐指数
1
解决办法
764
查看次数

Sparklyr - 十进制精度8超过最大精度7

我正在尝试使用spark_read_csv将大型数据库复制到Spark中,但我收到以下错误作为输出:

错误:org.apache.spark.SparkException:作业因阶段失败而中止:阶段16.0中的任务0失败4次,最近失败:阶段16.0中丢失任务0.3(TID 176,10.1.2.235):java.lang.IllegalArgumentException :要求失败:十进制精度8超过最大精度7

data_tbl <- spark_read_csv(sc, "data", "D:/base_csv", delimiter = "|", overwrite = TRUE)
Run Code Online (Sandbox Code Playgroud)

这是一个大数据集,约有580万条记录,我的数据集中包含类型数据Int,num以及chr.

r apache-spark sparklyr

5
推荐指数
1
解决办法
737
查看次数

标签 统计

r ×5

apache-spark ×4

sparklyr ×4

devtools ×1

namespaces ×1

roxygen2 ×1