Skip to content

Instantly share code, notes, and snippets.

@grigory93
Last active May 31, 2016 20:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save grigory93/060b1788f498275f86d311b0e0dac26f to your computer and use it in GitHub Desktop.
Save grigory93/060b1788f498275f86d311b0e0dac26f to your computer and use it in GitHub Desktop.
Running parallel jobs on Aster with R and toaster
library(toaster)
close(conn)
conn = odbcDriverConnect(connection="driver={Aster ODBC Driver};server=10.xx.xx.xx;port=2406;database=dallas;uid=beehive;pwd=beehive",
interpretDot=TRUE)
dallasPermitsTableInfo = getTableSummary(conn, "dallasbuildingpermits")
getNumericColumns(dallasPermitsTableInfo)
fit.folds = foreach(fold = 1:12, .packages=c('RODBC','toaster')) %dopar% {
parConn = odbcReConnect(conn)
fitted.model = computeLm(parConn, "dallasbuildingpermits", value ~ area + lon + lat, tableInfo = dallasPermitsTableInfo,
where = paste("date_part('month',issued)::int != ", fold))
close(parConn)
fitted.model
}
library(doParallel)
cl = makeCluster(6)
registerDoParallel(cl, cores=6)
library(foreach)
# running cross-validation sequantially with foreach function
fit.folds = foreach(fold = 1:12, .packages=c('RODBC', 'toaster')) %do% {
fitted.model = computeLm(conn, "dallasbuildingpermits", value ~ area + lon + lat, tableInfo = dallasPermitsTableInfo,
where = paste("date_part('month',issued)::int != ", fold))
}
fit.folds = list()
for(fold in 1:12) {
fit.folds[[fold]] = computeLm(conn, "dallasbuildingpermits", value ~ area + lon + lat, tableInfo = dallasPermitsTableInfo,
where = paste("date_part('month',issued)::int !=", fold))
}
install.packages("toaster", "parallel", "iterators", "doParallel", "foreach")
SELECT DATE_PART('month',issued)::int fold, COUNT(*) fold_size
FROM public.dallasbuildingpermits
GROUP BY 1
ORDER BY 1
SELECT COUNT(*)
FROM public.dallasbuildingpermits
WHERE DATE_PART('month',issued)::int != 6
value ~ area + lon + lat
fit.all = computeLm(conn, "dallasbuildingpermits", value ~ area + lon + lat, tableInfo = dallasPermitsTableInfo)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment