December is always a quiet month at my job and as such, I’ve had a few days of quiet to geek out and work on a few projects that have been on the proverbial back burner. While I’ve had a lot of great days at work and my particular favorite days are when I learn something new that knocks my socks off. So I had one of these days last week during a geek-out day and I wanted to share what I learned.
I do a decent amount of coding and I tend to use Python for data manipulation and preparation. I also do a lot of teaching and my personal preference is also to use Python for teaching because I find the syntax to be very easy for non-coders to grasp. I’m also a big fan of all the various libraries that have been written for Python which enable data scientists to focus on what they are trying to do without having to worry about how to do it.
Of course a large number of data scientists use the R language, and I’m really impressed with R’s capabilities, particularly in visualizing data. I’m also a big fan of Apache Drill as both of my readers are well aware. In Python, there are libraries through which you can access Drill programmatically–Pydrill as an example. I’ve thought that R could really use a module which would facilitate programmatic access to Drill. Not being an R developer, I researched it a little and it didn’t seem that difficult, but what did seem challenging was dealing with the people who control the CRAN which is the repository of R modules. So, I tabled the idea for the time being.
I’m part of a Slack channel for data science folks who work in the security realm and in a discussion about Drill I mentioned that I was interested in developing an R module for Drill and someone asked me, “Don’t you know about Sergeant?” “Why no”, I answered, “Tell me more.” To make a long story short, Bob Rudis built an R module called Sergeant (get it… Sergeant… Drill Sergeant… ) that acts as a convenient wrapper for Drill’s RESTful interface and enables easy programmatic access to Drill from R. It is available here: https://github.com/hrbrmstr/sergeant if you are interested. What’s more is that Bob actually took the time to document the module!
And so, my day was made… I learned something completely new and useful and now I want so share that knowledge with all of you and hopefully someone else’s day will be made. Kudos to Bob and enjoy everyone!