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

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

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

还要留意每个表达式分派了一个变量 (@t,@res)。应承 U-SQL 通过一步步的表达式(增量表达式流),递增的转换和编译数据,增量表达式是行使函数式 lambda 表达式构成(与 Pig ?说话相同)。执行框架,而且编译全部的表达式为一个的表达式。这个表达式可所以全局最优化,以是扩展的方法不行能是逐行执行表达式。下面的图标通过向你表现图表的方法,表现在这篇博文中的下一个查询:

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

回到我们的例子,我此刻想要添加特另外信息:关于推文中说起的人,而且扩展我的聚合去返回在我的 tweet 网中呈现的频率,尚有他们的推文中说起我的频率。由于我可以行使 C# 去操纵数据,以是我可以行使 C#LINQ 表达式扩展一个 ARRAY。这时我把获得的数组行使 EXPLODE 传入数据集,而且行使 CROSS APPLY 操纵应用 EXPLODE 到每条数据。我行使 UNION 操纵联相助者,可是必要行使@从头给变量赋值。

这里行使其它一个C#表达式(这里我行使了substring从第一位开始取数据-翻译以为应该是解除@符的意思) .

@t = EXTRACT date string

? ? ? ? ? ?,tweet string

? ? ?FROM "/input/MyTwitterHistory.csv"

? ? ?USING Extractors.Csv(); ??

@m = SELECT new SQL.ARRAY<string>(

? ? ? ? ? ? ? ? tweet.Split(' ').Where(x => x.StartsWith("@"))) AS refs

? ? ?FROM @t;

@t = SELECT author,"authored" AS category

? ? ?FROM @t

? ? ?UNION ALL

? ? ?SELECT r.Substring(1) AS r,"mentioned" AS category

? ? ?FROM @m CROSS APPLY EXPLODE(refs) AS Refs(r);

@res = SELECT author

? ? ? ? ? ?,category

? ? ? ? ? ?,COUNT(*) AS tweetcount

? ? ? ?FROM @t

? ? ? ?GROUP BY author,category;

OUTPUT @res TO "/output/MyTwitterAnalysis.csv"

ORDER BY tweetcount DESC

USING Outputters.Csv();

下一步,我可以行使 Visual Studio 的 Azure 数据湖器材里的代码转换成果将 C# 代码重组成 C# 函数。提交剧本后,体系会将代码自动陈设随处事器上。

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

我们也可以在U-SQL元数据目次里陈设和注册代码集。这样,我们可能其他人可以不时重用这组剧本。以下例子暗示了,在代码集注册为TweetAnalysis之后,怎样找到函数。

REFERENCE ASSEMBLY TweetAnalysis;

??

@t = EXTRACT date string

? ? ? ? ? ?,tweet string

? ? ?FROM "/input/MyTwitterHistory.csv"

? ? ?USING Extractors.Csv();

??

@m = SELECT Tweets.Udfs.get_mentions(tweet) AS refs

? ? ?FROM @t;

??

@t = SELECT author,"authored" AS category

? ? ?FROM @t

? ? ?UNION ALL

? ? SELECT Tweets.Udfs.cleanup_mentions(r) AS r,"mentioned" AS category

? ? FROM @m CROSS APPLY EXPLODE(refs) AS Refs(r);

??

@res = SELECT author

? ? ? ? ? ?,category;

??

OUTPUT @res

TO "/output/MyTwitterAnalysis.csv"

ORDER BY tweetcount DESC

USING Outputters.Csv();

因为之条件到了除了删除@标识符之外,还想要对 mentions 做其他整理事变,以是该代码集还包括了一个 cleanup_mentions 函数,用来在删除@之后做其他处理赏罚。

为什么选择U-SQL

通过上述先容,但愿您已经窥测到了我们对 U-SQL 的设法,以及 U-SQL 是怎样将查询以及大数据处理赏罚变得简朴的。接下来的几周里,我们会进一步先容该说话的计划逻辑,并会给出一些示例代码即应用场景,请拜见Azure 博客大数据专题。我们会深入切磋一下特征:

  • 通过模式匹配操纵文件荟萃

  • 行使(分区)表

  • 对 SQL Azure 数据库举办联邦查询

  • 将 U-SQL 代码封装为视图,表型数据函数,进程

  • SQL 窗体函数

  • 行使C#编写用户界说操纵(定制抽取,处理赏罚进程)

  • 复合范例(MAP,ARRAY)

  • 行使 U-SQL 树立数据管道

  • U-SQL 对物联网说明中lambda架构的支持

U-SQL 将大数据处理赏罚变得简朴:

  • 同一了声明行查询说话与伟大代码

  • 同一了布局化查询与非布局化数据

  • 同一了当地和长途查询

  • 一旦上线,即可提跨越产力和火速性

不可是 U-SQL - Auzre 数据湖为您的全部数据建设出产力

我们旨在将 Azure 数据湖成立成最有效的集编写,调试和优化各类局限数据成果的强盛器材,U-SQL只是个中一个环节。通过对编写与监控 Hive 功课的全面支持, 我们开拓了基于 C# 的编码模子,他可以建设用于流处理赏罚的 Storm 功课,并且从建设,到执行,支持功课生命周期的每一阶段。Azure 数据湖使得您可以用心于营业逻辑而不是调试漫衍式情形。我们的方针就是将大数据技能变得越发简朴,被更大都人行使:大数据专家,工程师,数据科学家,说明师以及应用开拓职员。


(编辑:湖南网)

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

热点阅读