Size: a a a

R (язык программирования)

2021 June 12

PD

Pavel Demin in R (язык программирования)
Для светлой использую iPlastic, для темной ставил кастомно Nord
источник

R

Rus in R (язык программирования)
такая конструкция
er <- tryCatch(DBI::dbRemoveTable(con, "GAaud_hist", fail_if_missing =FALSE), "", error = function(e) e)

действительно не выплевывает ошибку в консоль , если не удается удалить несуществующую таблицу в Базе, но и обрубает Коннекшн к базе  и когда я пытаюсь в следующей строке кода
GAaud_h[, chunk := .I %/% chunksize][, DBI::dbWriteTable(con, "GAaud_hist", .SD, append=TRUE , row.names = TRUE), by="chunk"]

снова записать таблицу в Базу, то это уже не удается , так как коннекшн пропал и его надо заново активировать...
источник

DB

Dr. Konstantin Blago... in R (язык программирования)
Можно в этой конструкции, где error написать заново соединение
источник

DB

Dr. Konstantin Blago... in R (язык программирования)
Тогда будет подключать заново при ошибке
источник

DB

Dr. Konstantin Blago... in R (язык программирования)
Но вообще нельзя проверять наличие таблицы перед удалением?
источник

R

Rus in R (язык программирования)
ну в питоне есть такая функция ph.execute(query=f'DROP TABLE IF EXISTS "{db}"."{table_name}"', connection=connection)  убить таблицу если она существует....

А в R хз как это всё... упарился в синтаксисе разбираться:))
источник

R

Rus in R (язык программирования)
а как прописать ? в  function(e) e  где-то?
источник

DB

Dr. Konstantin Blago... in R (язык программирования)
Да. Вместо возвращения e
источник

DB

Dr. Konstantin Blago... in R (язык программирования)
Но я бы поискал, как проверять наличие таблицы
источник

IS

Ilya Shutov in R (язык программирования)
При чем здесь питон? Это чистый sql запрос
источник

R

Rus in R (язык программирования)
да. как такой же оформить в R не умею пока.
источник

IS

Ilya Shutov in R (язык программирования)
См интерфейс DBI
источник

IS

Ilya Shutov in R (язык программирования)
dbquery или как там его…
источник

R

Rus in R (язык программирования)
так вот это оттуда ... из интерфейса
DBI::dbRemoveTable(con, "GAaud_hist", fail_if_missing =FALSE)

и вот этотпараметр  fail_if_missing =FALSE   не отрабатывает... Все равно и ошибка вылевывается и все падает
источник

R

Rus in R (язык программирования)
да, помогло DBI::dbSendQuery(con, "DROP TABLE IF EXISTS GA.GAaud_hist")
спасибо:)
источник

R

Rus in R (язык программирования)
Попытался сделать через data.table, иногда заливка проходит нормально, а иногда падает ...
Такое ощущение , что заливка идет не чанками по 50тыс строк ( такие чанки просто не  могут занимать 1 гиг оперативы на сервере... из Питона , эта же таблица в эту же базу заливается чанками по 100 тыс строк без проблем) , а весь объем в 6 млн строк сразу туда валится...

Посмотрите пожалуйста может я неверно строку прописал ?

GAaud_h[, chunk := .I %/% chunksize][, DBI::dbWriteTable(con, "GAaud_hist", .SD, append=TRUE , row.names = TRUE), by="chunk"]
источник

Ю

Юрий 🐙💻🤖📊📈🚬... in R (язык программирования)
небольшой оффтоп, но про знание статистики: удивительно, как много людей не знают, что такое медиана (см комментарии к публикации). https://vc.ru/offline/257758-rosstat-rasschital-mediannuyu-zarplatu-rossiyan-za-2020-god-ona-okazalas-v-poltora-raza-nizhe-sredney?comments
источник

A

Andrey in R (язык программирования)
Надо data.table в однопоток перевести
источник

R

Rus in R (язык программирования)
По умолчанию разве не в однопотоке ?
источник

A

Andrey in R (язык программирования)
По умолчанию половина потоков CPU
источник