Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R-将工作目录设置为hdfs_R_Out Of Memory_Working Directory_Revolution R - Fatal编程技术网

R-将工作目录设置为hdfs

R-将工作目录设置为hdfs,r,out-of-memory,working-directory,revolution-r,R,Out Of Memory,Working Directory,Revolution R,我需要从R中非常大的数据集创建一些数据帧。有没有办法更改我的工作目录,以便将我创建的R对象保存到hdfs中?我在/home下没有足够的空间来保存这些大数据帧,但我需要使用一些需要数据帧作为输入的数据帧函数。如果我们使用数据帧对来自hdfs的数据执行某些操作,从技术上讲,我们使用的是内存而不是磁盘空间。因此,限制因素将是内存(RAM),而不是任何工作目录中的可用磁盘空间,更改工作目录也没有太大意义 您无需将文件从hdfs复制到本地计算上下文,即可将其作为数据帧进行处理 使用rxReadXdf()将

我需要从R中非常大的数据集创建一些数据帧。有没有办法更改我的工作目录,以便将我创建的R对象保存到hdfs中?我在/home下没有足够的空间来保存这些大数据帧,但我需要使用一些需要数据帧作为输入的数据帧函数。

如果我们使用数据帧对来自hdfs的数据执行某些操作,从技术上讲,我们使用的是内存而不是磁盘空间。因此,限制因素将是内存(RAM),而不是任何工作目录中的可用磁盘空间,更改工作目录也没有太大意义

您无需将文件从hdfs复制到本地计算上下文,即可将其作为数据帧进行处理

使用rxReadXdf()将xdf数据集直接转换为hdfs本身中的数据帧

类似这样的内容(假设您在hadoop计算上下文中):


airDS可能是一个愚蠢的评论,但是:
setwd()
是否适用于您的目的?大多数函数还允许您将对象保存在任何位置,而无需移动
getwd()
文件夹。SabDeM:setwd()函数可以指向本地目录中的不同文件夹,但无法访问存储在其他计算机上的文件夹(这就是我要问的)Roman:我如何在hdfs中创建数据对象?现在我在cloudera中有一个XDF文件,我想从中创建一个非本地数据帧。现在,我使用rxCopyToLocal()若要将hdfs文件复制到本地计算上下文,则我使用rxXdfToDataFrame将文件转换为数据帧。如何将此数据帧保存在hdfs上而不是保存在我的/home文件夹中?谢谢,这是可行的(尽管需要一些时间)!你能给我解释一下为什么rxReadXdf没有遇到RAM空间问题,而使用RxHadopCopyToLocal时rxXdfToDataFrame会遇到这个问题吗?
airDS <- RxTextData(file="/data/revor/AirlineDemoSmall.csv", fileSystem=hdfFS)
# making a text data source from a csv file at above hdfs location 
# hdfsFS is the object storing hadoop fileSystem details using RxHdfsFileSyStem() 

airxdf <- RxXdfData(file= "/data/AirlineXdf")
# specifying the location to create the composite xdf file in hdfs
# make sure this location exits in hdfs


airXDF <- rxImport(inFile=airDS, outFile=airxdf)
# Importing csv to composite xdf 


airDataFrame <- rxReadXdf(file=airXDF)

# Now airDataFrame is a dataframe in memory 
# use class(airDataframe) to double check
# do your required operations on this data frame