R- Чтение часто обновляемого файла с помощью R - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь прочитать файл JSON, который часто обновляется. В обычной ситуации я бы прочитал файл, если бы он был разовым:

json_data <- fromJSON(file="file.json")

или

jfile <- stream_in(file("file.json"))

Это, очевидно, не сработает в моем случае, так как я хочу установить случай, когда R проверяет, был ли файл обновлен, и извлекает изменения. Можно ли также установить время проверки o для некоторых сортов?

1 Ответ

0 голосов
/ 03 июля 2018

Вы можете проверить время модификации файла и повторно загрузить файл только после его изменения. Возможно, вы могли бы получить только последние n новых записей в файле, но я думаю, что небезопасно предполагать, что json-файл увеличивается постепенно.

require(jsonlite)

# some json file on disk
jfile = tempfile()
cat( toJSON(mtcars[1:3, ]), file = jfile)

# initial fetch of the file and of its modification time
nfo1 = file.info(jfile)$mtime
d = fromJSON(jfile)
d

# new lines are added to jfile from an external process 
# (here just cat)
cat( toJSON(mtcars[1:4, ]), file = jfile )

#check see if file is modified and load it again
nfo2 = file.info(jfile)$mtime

if(nfo2 > nfo1)
    d = fromJSON(jfile)
d
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...