r
  • rstudio
  • knitr
  • r-markdown
  • dbi
  • 2017-02-16 40 views 2 likes 
    2

    У меня есть кусок SQL в моем R Markdown/Notebook Документ:Cache SQL ломоть с R Markdown/ноутбук без вязания в RStudio

    ```{sql output.var = "df"} 
    SELECT * FROM FakeData 
    WHERE Date >= '2017-01-01 
    ``` 
    

    Это занимает буквально 5 минут, чтобы бежать. Есть ли простой способ кэшировать результат запроса без вязания документа или записи файла в csv.

    Я бы, возможно, как кэш, чтобы жить в течение нескольких часов, а может быть в день (есть способ, чтобы изменить это, а?)

    Спасибо.

    ответ

    3

    Если вы положили cache=TRUE в опции chunk и работаете в rStudio, вы можете выбрать раздел кода и запустить его напрямую, используя зеленые стрелки в правом верхнем углу консоли rMarkdown/knitr.

    {sql output.var = "df", cache=TRUE} SELECT * FROM FakeData WHERE Date >= '2017-01-01

    Кроме того, я, как правило, запустить регулярный R сценарий в другом окне все, что я буду использовать в knitR. Я обнаружил, что у меня меньше проблем с доступностью пакета и кешированием, если данные хранятся в глобальной среде.

    Если вы сделаете это так и выполните с кешем = ИСТИНА, вы обязательно сможете сохранить данные в первом прогоне и пропустить ожидание в следующий раз.

    +1

    Интересно. Я думал, что аргумент кеша в куске работал только для knitr? – emehex

    +0

    'cache' должен работать для любых фрагментов кода; если нет, это, вероятно, ошибка, и вы должны сообщить https://github.com/yihui/knitr/issues –

    +1

    Я пропустил часть того, что вы просили. Нет, в ноутбуках он работает не так, как в кеше = ИСТИНА. Но если вы запустите его в скрипте и сохраните его в глобальной среде, вы сможете использовать его в ноутбуке во время разработки. Я просто протестировал его, и он работает для меня от chunk до chunk ... – sconfluentus

     Смежные вопросы

    • Нет связанных вопросов^_^