Size: a a a

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

2020 August 06

AB

Alexey Burnakov in R (язык программирования)
минутку
источник

AB

Alexey Burnakov in R (язык программирования)
library(data.table)
library(readr)
library(magrittr)

doc <-
   "https://github.com/jordiclive/Revolut_KYC_Exercise/raw/master/data/doc_reports.csv" %>%
   read_csv %>%
   as.data.table %>%
   cbind(.[, tstrsplit(properties,',')])
источник

AB

Alexey Burnakov in R (язык программирования)
Если я верно понял, то так
источник

AB

Alexey Burnakov in R (язык программирования)
секунд 5
источник

IS

Ivan Struzhkov in R (язык программирования)
Вопрос то почему оно с приниудительным указанием ключей буст скорости получает?
источник

IS

Ivan Struzhkov in R (язык программирования)
Спасибо за оптимизациию посмотрю
источник

AB

Alexey Burnakov in R (язык программирования)
Ivan Struzhkov
Вопрос то почему оно с приниудительным указанием ключей буст скорости получает?
не знаю... но без этого можно хорошо обойтись
источник

IS

Ivan Struzhkov in R (язык программирования)
Тут вопрос скорее в самой механике - очень не интуитивное поведение

> system.time(
+ doc1[1:nrow(doc1),list(list_col=as.character(unlist(list_col))),by=list(attempt_id)]->doc2)
  user  system elapsed
 0.331   0.019   0.365
> system.time(
+ doc1[,list(list_col=as.character(unlist(list_col))),by=list(attempt_id)]->doc2)

Timing stopped at: 20.27 0.725 21.02
источник

AB

Alexey Burnakov in R (язык программирования)
а зачем это вообще делать? можно сделать интуитивно
источник

AB

Alexey Burnakov in R (язык программирования)
Alexey Burnakov
тормоза из-за итераций по строкам (by = ...). думаю, можно сделать без этого, вот так
вот это не очень.... операцию не векторизовали, а потом уже выдумки, как ускорить то, что медленно по совей сути
источник

A

Andrey in R (язык программирования)
Ivan Struzhkov
Вопрос то почему оно с приниудительным указанием ключей буст скорости получает?
Может быть, раз оно как тиббл отработало, а другой - как дата.тэйбл?
источник

IS

Ivan Struzhkov in R (язык программирования)
Alexey Burnakov
а зачем это вообще делать? можно сделать интуитивно
Сейчас основной вопрос который меня занимает это отуда выйгрышь в скорости. Оптимизировать безуловно надо, но сейчас для меня это вторично

Вопрос разобраться как работает data table
источник

IS

Ivan Struzhkov in R (язык программирования)
Andrey
Может быть, раз оно как тиббл отработало, а другой - как дата.тэйбл?
Вообще тоже неясно  - если я в дата тейбле в синтаксисе дата тейбла указываю количество строк - становится тиблом?

Мне кажется есть какой то момент специфический - грубо говоря в рамках этой операции дататейбл вынужден посчитать сколько ему строк сделать в результате, в наивном подходе это матрица attempt_id~ элементы list_col() - и вот возможно вычисление собственной длинны где то сделано не оптимально
источник

БА

Байкулов Антон... in R (язык программирования)
Нужен хелп!

Кто-то подключался к ClickHouse через R? Я пробую подключиться через DBI и драйвер RClickhouse и получаю ошибку

Error in connect(config[["host"]], strtoi(config[["port"]]), config[["db"]],  :
источник

AB

Alexey Burnakov in R (язык программирования)
Ivan Struzhkov
Сейчас основной вопрос который меня занимает это отуда выйгрышь в скорости. Оптимизировать безуловно надо, но сейчас для меня это вторично

Вопрос разобраться как работает data table
Попробуйте сделать так. setDT(ваш док); setkey(ваш док, attemp_id). Затем сделать то же самое как у вас, без этого 1:nrow() в i. Если скорость поднимется, значит работает быстрее за счёт проставления ключа.
источник

JS

Jury Sergeev in R (язык программирования)
Байкулов Антон
Нужен хелп!

Кто-то подключался к ClickHouse через R? Я пробую подключиться через DBI и драйвер RClickhouse и получаю ошибку

Error in connect(config[["host"]], strtoi(config[["port"]]), config[["db"]],  :
работаем с ним, через RClickhouse как раз, все хорошо
источник

JS

Jury Sergeev in R (язык программирования)
может версия CH не та? только гадать можно, не зная что там у Вас
источник

БА

Байкулов Антон... in R (язык программирования)
Jury Sergeev
работаем с ним, через RClickhouse как раз, все хорошо
Я установил ClickHouse Server на Ubuntu. Открыл порт 8123 на прослушивание

Исполняю код в R

con  <-  DBI :: dbConnect ( RClickhouse :: clickhouse (),
                           host = "мой IP",

В ответ - кукиш. По идее я же должен сохранить подключение в con?
источник

JS

Jury Sergeev in R (язык программирования)
port = 9000
источник

БА

Байкулов Антон... in R (язык программирования)
Тоже самое получаю.

Error in connect(config[["host"]], strtoi(config[["port"]]), config[["db"]],  : 
 fail to connect: Operation now in progress
источник