Используя R Server, я хочу просто прочитать исходный текст (например, readLines в базе) из Azure Data Lake. Я могу подключиться и получить данные следующим образом:readLines эквивалент при использовании Azure Data Lakes и R Server вместе
library(RevoScaleR)
rxSetComputeContext("local")
oAuth <- rxOAuthParameters(params)
hdFS <- RxHdfsFileSystem(params)
file1 <- RxTextData("/path/to/file.txt", fileSystem = hdFS)
RxTextData
фактически не пойти и получить данные, когда эта строка выполняется, она работает как более символической ссылки. При запуске что-то вроде:
rxSummary(~. , data=file1)
Затем данные извлекаются из озера данных. Тем не менее, он всегда читается и обрабатывается как файл с разделителями. Я хочу:
- Загрузите файл и храните его локально с кодом R (желательно нет).
- Используйте какой-то
readLines
эквивалент для получения данных, но прочитайте его в «raw», чтобы я мог выполнять свои проверки качества данных.
Эта функциональность существует еще? Если да, то как это делается?
EDIT: Я также попытался:
returnDataFrame = FALSE
внутри RxTextData
. Это возвращает список. Но, как я уже сказал, данные не считываются сразу из озера данных, пока я не запустил что-то вроде rxSummary
, которое затем пытается прочитать его как обычный файл.
Контекст: У меня есть «плохой» CSV-файл, содержащий строки в двойных кавычках. Это приводит к разрыву RxTextData. Однако мой скрипт обнаруживает эти ошибки и исправляет их соответственно. Поэтому я не хочу, чтобы RevoScaleR читал данные и пытался интерпретировать разделители.
У меня такая же проблема. Кажется нереальным, что Azure не может сделать что-то такое простое. Если вы можете импортировать только CSV-файлы, они должны перестать хвастаться тем, как Azure запускает R! –