连城表示,因为在处理很多外部数据源中出现的扩展问题,Spark在1.2版本发布了External data source API。通过External data source API,Spark SQL可以将不同数据源的数据抽象为关系表格,并实现多数据源互操作。
目前,在External data source API上已经实现了JSON、Avro、CSV等简单格式的外部数据源支持,Parquet和ORC等更加适合数据仓库的高级文件格式的支持也正在开发 中,Spark SQL 1.2中已经搭载了一套新的Parquet数据源实现。除此之外,利用External data source API还可以实现Spark与HBase、JDBC等外部系统的高效对接。
连城表示,在1.2版本之前,开发者已经可以通过扩展RDD的方式支持各种外部数据源。因此,对比更原生的支持一些外部数据源,External data source API的意义更在于针对相应数据源进行的特殊优化,主要包括Column pruning(列剪枝)和Predicate pushdown两个方面:
百度分布式计算团队从2011年开始持续关注Spark,并于2014年将Spark正式引入百度分布式计算生态系统中,在国内率先面向开发者及企业用户推出了支持Spark并兼容开源接口的大数据处理产品BMR(Baidu MapReduce)。在甄鹏的分享中,我们主要了解了百度Spark 应用现状、百度开放云BMR和Spark On BMR三个方面的内容。