BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
The Apache Spark processing engine is often paired with Hadoop, helping users to accelerate analysis of data stored in the Hadoop Distributed File System. But Spark can also be used as a standalone big data platform. That's the case at online marketing and advertising services provider Sellpoints Inc. -- and it likely wouldn't be possible without the technology's Spark SQL module.
Sellpoints initially used a combination of Hadoop and Spark via a cloud-based managed service to process data on the Web activities of consumers for analysis by its business intelligence (BI) and data science teams. But in early 2015, the Emeryville, Calif., company converted solely to a Spark system from Databricks, also in the cloud, to streamline its architecture and reduce technical support issues.
Benny Blum, vice president of product and data at Sellpoints, said the analysts there use a mix of Spark SQL and the Scala language to set up extract, transform and load (ETL) processes for turning the raw data into usable information that can help the company target ads and marketing campaigns to individual website visitors for its corporate clients.
The BI team in particular leans heavily on Spark SQL, since it doesn't require the same level of technical skills as Scala does. Some BI analysts do all of their ETL programming with the SQL on Spark technology, according to Blum.
"Spark SQL is really an enabler for someone who's less technical to work with Spark," he said. "If we didn't have it, a platform like Databricks wouldn't be as viable for our organization, because we'd have a lot more reliance on the data science and engineering teams to do all of the work."
Sellpoints collects hundreds of millions of data points from website logs on a daily basis, amounting to a couple terabytes per month. Blum said the raw data is streamed into an Amazon Simple Storage Service data store and then run through the ETL routines in Spark to cleanse it and convert it into more understandable metrics-based formats. Spark also translates the data for output to Tableau's BI software, which is used to build reports and data visualizations for the company's customers.
At this point, Blum said, Spark SQL isn't a perfect match for the standard SQL that has long served as the primary programming language for mainstream relational databases. "There are certain commands that I expect to be there that aren't there, or may be there, but under a different name," he noted. Despite such kinks, though, Blum thinks the Spark variant is familiar enough for SQL-savvy users to get the job done. "If you know SQL, you can work with it."
Read about SQL-on-Hadoop software, Spark SQL's close cousin
Find out why users are tapping Spark to replace MapReduce
Take a short quiz on the Spark processing engine's features