机器学习和数据挖掘是个非常难的领域,所以在这个领域有数据科学家这么一个职位。“数据科学家”在2009年由Natahn Yau首次提出,其概念是采用科学方法、运用数据挖掘工具寻找新的数据洞察的工程师。数据科学家是指能采用科学方法、运用数据挖掘工具对复杂多量的数字、符号、文字、网址、音频或视频等信息进行数字化重现与认识,并能寻找新的数据洞察的工程师或专家(不同于统计学家或分析师)。一个优秀的数据科学家需要具备的素质有:懂数据采集、懂数学算法、懂数学软件、懂数据分析、懂预测分析、懂市场应用、懂决策分析等。
传统典型的应用(如推荐系统)的一个数据流过程,需要经历使用hadoop做ETL,用impala/drill等做数据探索,使用tableau做报表,使用R语言或者mahout做高级分析,最后形成一个数据产品,如下图所示:
这个过程非常复杂,对技能要求非常高,需要懂一系列复杂的系统和工具。Databricks创新的将这些统一到了一起。通过一个统一的平台,将整个ETL、探索、高级分析、报表、数据产品都统一到平台上。
做到这一点核心用到一个notebooks这种工具。Notebooks是提供一个交互式的工作区,数据科学家可以使用R,python,Scala,SQL等各种语言直接在工作区输入,结果直接图形化的展现在下面,如下面一个例子:移动设备的地理分布。
Notebook有ipthon(http://ipython.org/),zeppline(http://zeppelin-project.org/)等,都非常有特点。