Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

31 line
925B

  1. prep_open_dataset <- function(path_prep, partitioning = "sboe_id", ...) {
  2. if (!fs::file_exists(path_prep)) {
  3. path_here <- here::here("data-prep/", path_prep)
  4. path_up <- fs::path("..", "data-prep", path_prep)
  5. path_up2 <- fs::path("..", "..", "data-prep", path_prep)
  6. if (fs::file_exists(path_here)) {
  7. path_prep <- path_here
  8. } else if (fs::file_exists(path_up)) {
  9. path_prep <- path_up
  10. } else if (fs::file_exists(path_up2)) {
  11. path_prep <- path_up2
  12. } else {
  13. stop("File not found: ", path_prep)
  14. }
  15. }
  16. if (length(fs::dir_ls(path_prep, type = "dir")) == 0) {
  17. partitioning <- NULL
  18. }
  19. arrow::open_dataset(path_prep, partitioning = partitioning, ...)
  20. }
  21. prep_open_dataset_db <- function(table, ..., path_prep = table) {
  22. pq <- prep_open_dataset(path_prep, ...)
  23. con <- duckdb_global_con()
  24. duckdb::duckdb_register_arrow(con, table, pq)
  25. dplyr::tbl(con, table)
  26. }