One of the biggest hurdles in data analysis is just getting access to data in the first place. At Data Tapestry, we offer end-to-end analytics services beginning with data acquisition, performing analytics, and providing end user products. Keith Shook walks us through how to maintain data security and integrity when dealing with a variety of situations.
Tell us a little about your background and your role at Data Tapestry.
Can you walk us through a project you’ve worked on?
Data engineering is pretty straightforward as far as the process goes. You get the data, ingest it into the database, and then hand it off to the data scientist. You have to be flexible with how you approach the process, because you can get data in a variety of different formats. Sometimes you know what the data looks like or what it should look like. Other times there’s a lot of cleaning involved.
During one project, I actually got the data from a physical flash drive. The company has a fleet of trucks that install electric dog fences. There was some sensitive geo-location data involving where the drivers stopped and even where they lived. Their data was being housed in Microsoft SQL server which is not the best structure. So, I exported all of the data to CSVs and imported it into Postgres and then gave access to it.
What steps do you take to protect sensitive information like that?
Data security is very important to me and my client. We follow best practices to ensure the data is secure at all times. As an additional measure, I treat all data like personally identifiable information (PII) so that there are no mishaps.
How do you interface with the client?
It depends on the project. Sometimes I serve in a small capacity, or I’ll be an embedded part of the team. Other times, I may be leading and consulting on the project.
What types of software and technology do you use for data ingestion?
There’s not really a particular toolset for all the jobs. I write a custom python script for each. For many projects, I’d visualize the data in Tableau and that would allow me to see what was actually in the data. Sometimes I had to create calculated fields and join different tables together in order to create a dataset that made sense.
What’s been the most interesting engineering challenge you’ve come across?
I’ve had to work with HL7 data. It’s a stream of data that hospitals create by recording various message types. The message types can be things like, there was a discharge on June 8th at 12:00pm. They are highly specialized data streams that require custom built pipelines to deal with the weird formats.