前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Spark做数据科学

用Spark做数据科学

作者头像
此中剑无涯
发布2018-06-06 16:55:00
1.5K0
发布2018-06-06 16:55:00

我们与Exaptive的数据科学家Frank Evans就Spark在数据科学中的地位进行了非常愉快的交流。

问:Spark成功实现数据科学项目的关键是什么?

答:首先确定Spark是否是实现你的目标的最佳工具。虽然它是数据科学中最热门的工具之一,但它并不一定在所有情况下都是最佳解决方案,只是简单地使用Spark并不能确保数据科学项目的成功。

了解你正在尝试解决的商业问题。Spark适合那些需要在真正的大型服务器上快速执行数据计算的复杂工作。如果你确实有很多数据或要面对计算上的复杂挑战,你将要花费大量的时间和金钱让Spark运行起来,而这两者都需要很大投入。

我曾经是Sonic快餐店的数据科学家。我们最初拥有标准的企业分析,没有复杂计算的挑战。当我们引入交互式菜单板时,开始生成大量的点击流数据,我们希望用这些数据来改进我们的定向营销工作,实现A / B测试,改善客户体验并为我们的研究和开发工作提供信息。这为Spark创建了一个应用需求,我们在开始满足市场营销需求后发现了很多用例。

问:公司如何通过Spark在数据科学方面获益?

答:随时了解所有发生在大数据(Big Data)和Spark领域上的变化。Spark和大数据工具很难学,但是一旦你学会了它们,你的工作就变得非常高效。此外,Hive与Stinger和Spark SQL等工具也更容易在短时间内上手。

将这两者交给理解这个领域的人——不只是一两个只知道大数据的人,否则他们将在工作中出现瓶颈。引入交互式数据应用程序(如Exaptive,Platfora和Datameer)来构建交互式视觉效果,以便人们深入了解数据以找到问题的答案或探索预想的假设。使每个人都能了解这个领域,并得到他们所需要的数据从而作出明智的选择。

问:Spark在过去一年中有何变化?为什么它取代R语言成为了“大数据”架构?

答:我认为有三个不同的因素。大数据不一定是计算性的,并不一定能提供分析的见解。数据科学涉及激烈的机器学习与数据,但不一定是大数据。使用多个数据服务器的大数据科学在计算上非常复杂。

R语言不是大数据工具。R语言更多是一种交互语言。R语言的环境不能扩展到大数据,但它可以通过分析来实现你的目标。Spark,Scala和Java高度相关。它们充当Java,R和SQL的底层转换引擎。你可以使用R作为Spark的基础语言。中级技术数据科学家倾向于Spark并通过R语言或Scala进行交互。R语言正在成为企业代替SQL Server表编写代码的语言。

问:您的客户用数据科学和Spark解决了哪些现实问题?

答:我们与俄克拉何马大学合作为一个学术研究语料库进行文本分析,该语料库包含了25年的国会听证会记录。我们启用了对文本的探究,而无需阅读页数从5到100多页的20,000个条目。

我们帮助测试了一篇论文,内容是关于国会在过去25年里如何讨论国际议题,以及随着时间和党派的不同,对话的基调如何变化。我们使用Spark研究了25,000个文档,方法是基于委员会使用的关键术语构建与元数据绑定的主题模型,并跟踪术语随时间演变的过程。我们通过Spark引擎来使用Spark的池分割数据来构建不同的模型,并使用一种机制来探索数据集。

我们可以将大量的信息应用到与元数据相结合的大量文本数据上。

问:您认为哪些最常见的问题阻碍了公司利用Spark从数据科学中获益?

答:首先是能够找到知道他们在做什么并且对这些技术有所了解的人。为业务级别和技术专业人员提供构建功能、制作翻译层的技术专家,让这些工具变得越来越易于​​使用,很多公司都在解决这个问题。

其次是让专家建立环境和基础设施。这可能需要六个月的时间才能建立。前期的复杂问题会导致失败,浪费时间和金钱。虽然工具越来越容易使用,但集成起来仍然比需要的本身要困难。

第三是来自不同格式不同源的数据差异。但是,这是一个比前两者更容易解决的问题。

问:您认为Spark在数据科学领域持续发展的最大机会在哪里?

答:在数据科学领域的工具里Spark占80%。Python binding、R binding、Spark SQL使构建交互层变得更容易,这些工具构建了应用程序集和可视化的SQL查询。Spqrk机器学习也很不错。如果您了解现有工具的高级库,Spark就更有意义——它是嵌入到嵌入式系统中的一个自然的插件,比如Hive Stinger首创的在后台嵌入Spark引擎和功能的自感知代码。

R语言,Python和SQL必须被编译为更低级的语言。这些工具不断变得更好,更有效。在过去的两年里,Spark的变化比Oracle在过去的10年里变得更多。将Spark引擎嵌入到我们现在看到的事物中,你不必从头开始学习。Spark引擎更多地嵌入到企业级工具中。

问:开发人员使用Spark从事数据科学项目需要哪些技能?

答:这取决于他们的兴趣在哪里。1)如果他们想要将Spark应用于SQL,则可以启动并运行一个小型Spark环境,使用它提交查询并获取报告。2)如果开发人员有兴趣构建转换层,他们需要了解Spark如何解决问题。执行此操作的代码非常简单。学习如何解决一系列问题,如何解决会产生更大意义上的解决方案的单个组件中的问题。一旦你完成了这个代码就清楚了。通过并测试假设很容易。

问:关于Spark和数据科学,您认为开发人员还需要知道什么?

答:清洁数据很重要。当得到非常大的数据集时,你就不需要进行非常复杂的计算。模式识别提供了直接的分析,并将它们与噪声分离开来。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档