加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据处理赏罚说话:U-SQL 先容

发布时间:2021-03-06 08:46:15 所属栏目:大数据 来源:网络整理
导读:微软公布了新的 Azure 数据湖(Azure Data Lake)处事,该处事被用于云说明,包罗了一个超大局限信息库;一个在 YARN 上成立的新的的说明处事,该处事应承数据开拓者和数据科学家说明所有的数据;尚有 HDInsight,一个全面打点 Hadoop、Spark、Storm 和 HBas
副问题[/!--empirenews.page--]

大数据处理赏罚说话:U-SQL 先容

微软公布了新的 Azure 数据湖(Azure Data Lake)处事,该处事被用于云说明,包罗了一个超大局限信息库;一个在 YARN 上成立的新的的说明处事,该处事应承数据开拓者和数据科学家说明所有的数据;尚有 HDInsight,一个全面打点 Hadoop、Spark、Storm 和 HBase 的处事。Azure 数据湖说明包罗 U-SQL,这个说话综合了 SQL 的利益与你本身所写代码的示意手段。U-SQL 的可扩展漫衍式查询成果让你可以有用地说明存储器或关联存储器(好比 AzureSQL 数据库(Azure ?SQL Database))内的数据。这篇博文中,我将会概述 U-SQL 的开拓方针、我们的一些灵感和这个说话背后的计划理念,同时我会向你展示一些用于声名这个说话几个首要方面的例子。

为什么我们必要 U-SQL?


假如你说明白的大数据说明的特点,就会很轻易的发生一些有关易用性的需求,一个成果强盛的说话应该:

  • 可以处理赏罚任何范例的数据。譬喻从安详日记中说明僵尸收集(BotNet)进攻模式,通过呆板进修来提取图像和视频中的特性,这种说话必要应承你操纵任何范例的数据。

  • 行使自界说的代码很轻易地示意伟大的(常常是示意某公司自营营业的)算法。举例来说,基本的查询说话凡是不易表达自界说的进程,从用户界说的函数到他们自界说的输入输格外式都是云云。

  • 对任何标准的数据举办有用的缩放,你无须再体谅扩展拓扑(scale-out topology)、管道代码或特定漫衍式基本办法的限定。

现有的大数据说话该如那里理赏罚这些需求?

基于 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。

大数据处理赏罚说话:U-SQL 先容

在这里例子里,我知道我想要处理赏罚数据的布局,第一步我只想分组查询出每个作者的推送数据的数目:

@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 处理赏罚数据的首要步调:

  • 提取。从你的源数据中提取数据。 简朴的说就是行使 EXTRACT 阐明查询,概述数据。阐明的数据范例基于 C# 的数据范例,这里我行使了内置的 Extractors 类库去读取和schematize(体系化) CSV 文件。

  • 转换。行使 SQL 而且(可能)用户自界说操纵 (你可以转换为其他时刻)。在上面的例子中, 行使了一个常见的 SQL 表达式,做了一个 GROUP BY 聚合操纵。

  • 输出。功效既可所以文件,也可以输出到一个 U-SQL 表格生涯在内存顶用作后续的处理赏罚。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读