使用 R Server,我想从Azure Data Lake中简单地读取原始文本(如基中的 readLines) 。我可以像这样连接并获取数据:
library(RevoScaleR)
rxSetComputeContext("local")
oAuth <- rxOAuthParameters(params)
hdFS <- RxHdfsFileSystem(params)
file1 <- RxTextData("/path/to/file.txt", fileSystem = hdFS)
RxTextData
一旦执行了该行,它实际上并没有去获取数据,它更像是一个符号链接。当你运行类似的东西时:
rxSummary(~. , data=file1)
然后从数据湖中检索数据。但是,它始终被读入并被视为分隔文件。我想要:
- 下载文件并使用 R 代码将其存储在本地(最好不要)。
- 使用某种
readLines
等价物从中获取数据,但以“原始”形式读取数据,以便我可以进行自己的数据质量检查。
这个功能还存在吗?如果是这样,这是如何完成的?
编辑:我也试过:
returnDataFrame = FALSE
里面RxTextData
。这将返回一个列表。但正如我所说,数据不会立即从数据湖中读取,直到我运行类似的东西rxSummary
,然后尝试将其作为常规文件读取。
上下文:我有一个“坏”的 CSV 文件,其中包含双引号内的换行符。这会导致 RxTextData 中断。但是,我的脚本会检测到这些事件并相应地修复它们。因此,我不希望 RevoScaleR 读取数据并尝试解释分隔符。