大数据处理赏罚说话:U-SQL 先容
副问题[/!--empirenews.page--]
为什么我们必要 U-SQL? 假如你说明白的大数据说明的特点,就会很轻易的发生一些有关易用性的需求,一个成果强盛的说话应该:
现有的大数据说话该如那里理赏罚这些需求? 基于 SQL 的说话(譬喻 Hive 等)提供声明性的方法,原生支持扩容,并行执行以及优化。这个特征使得其简朴易用,被开拓职员普及行使;其成果强盛,合用于许多尺度的说明及仓储范例。不外他们的扩展模子和对非布局化数据及文件的支持常常只是些隶属成果,不轻易行使。好比,纵然您只想快速赏识一下文件可能长途数据,您也必要在查询之前先建设编目工具,将其体系化。这点严峻低落了说话的火速性。固然基于 SQL 的说话凡是有一些扩展点来定制名目,界说函数以及聚合,可是他们的构建,集成和维护相等伟大,各类编程说话的支持也不同很大。 用基于编程说话的方法来处理赏罚大数据,这样方法可以简朴利便地添加定制化代码。可是,措施员凡是必要其它编写代码来处理赏罚扩容和机能,而且难以打点执行拓扑和事变流。好比差异执行阶段的并发可能架构扩容。这样的代码不只难写,并且不易优化机能。有些框架支持声明式组件,譬喻集成说话查询,可能嵌入式 SQL 支持。可是 SQL 也许会被当做字符串处理赏罚,没有帮助器材。而且可扩展性集成较差,因为措施性代码并不思量副浸染,以是较难优化,并且不能重用。 综合思量基于 SQL 的说话以及措施说话,我们计划出了 U-SQL,他用 C# 编写,具备声明性 SQL 说话原生的可扩展性,又对其进一步扩展。集各类范式于一身,集布局化,非布局化,长途数据处理赏罚于一身,集声明式以及定制化呼吁编程于一身,集说话扩展手段于一身。 U-SQL 构建在微软的 SCOP 履历以及其他说话譬喻 T-SQL,ANSI SQL 以及 Hive 的基本之上。譬喻,我们对 SQL 和编程说话的集成,执行以及对 U-SQL 框架的优化都基于 SCOPE,这使得天天可以运行成千上万个功课。我们也会对换解体系元数据(数据库,表等等),SQL 语法,T-SQL,ANSI SQL 等 SQL Server 用户所认识的说话语义等支持,是的他们可以协同通过。 我们行使C#数据范例即表达式支持,这样您可以在 SELECT 里无缝潜入 C# 谓词及表达式,从而植入营业逻辑。最后,通过对 Hive 以及其他大数据说话数据模式,处理赏罚需求等研究,将其集成到我们的框架里。 简言之,基于现有说话和履历的 U-SQL 说话,有利于您简朴地处理赏罚伟大题目。 展示 U-SQL! 我们假设我已经下载了全部我的 Twitter 汗青记录,包罗:我推送的,转发的,提到的。而且作为一个 CSV 文件上传到我的 Azure ?Data Lake Store。 在这里例子里,我知道我想要处理赏罚数据的布局,第一步我只想分组查询出每个作者的推送数据的数目: @t = EXTRACT date string ? ? ? ? ? ?,time string ? ? ? ? ? ?,author string ? ? ? ? ? ?,tweet string ? ? ?FROM "/input/MyTwitterHistory.csv" ? ? ?USING Extractors.Csv(); ?? @res = SELECT author ? ? ? ? ? ?,COUNT(*) AS tweetcount ? ? ? ?FROM @t ? ? ? ?GROUP BY author; ?? OUTPUT @res TO "/output/MyTwitterAnalysis.csv" ORDER BY tweetcount DESC USING Outputters.Csv(); 上面的 U-SQL 剧本表现了三个行使 U-SQL 处理赏罚数据的首要步调:
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |