WEBVTT

00:00:00.000 --> 00:00:10.700
[音乐]。

00:00:10.700 --> 00:00:12.770
[ ] 嗨。我叫乌马汉达尔

00:00:12.770 --> 00:00:15.510
我是项目经理
在 SQL Server 团队中。

00:00:15.510 --> 00:00:19.065
今天我要展示
如何查询

00:00:19.065 --> 00:00:24.120
来自 SQL 服务器的 HDFS 数据
大数据群集中。

00:00:24.120 --> 00:00:28.010
所以我在这里
是 Azure 数据工作室。

00:00:28.010 --> 00:00:32.900
首先，我要连接到
SQL 服务器主实例，

00:00:32.900 --> 00:00:36.360
里面运行
大数据群集。

00:00:38.180 --> 00:00:41.360
现在从这里，我可以与

00:00:41.360 --> 00:00:46.850
两个 MySQL 数据库
和 HDFS 中的数据。

00:00:46.850 --> 00:00:48.640
所以，正如你在这里看到的，

00:00:48.640 --> 00:00:52.070
我有我的常客
SQL 服务器数据库

00:00:52.070 --> 00:00:57.875
我也可以去
浏览 HDFS 中的数据。

00:00:57.875 --> 00:01:02.570
因此，让我们先来看看什么
我要查询的数据。

00:01:02.570 --> 00:01:06.970
所以我有一个文件在这里
称为"Web 点击流"。

00:01:06.970 --> 00:01:10.985
因此，此文件包含
有关用户的数据，

00:01:10.985 --> 00:01:14.180
比如他们买了什么商品

00:01:14.180 --> 00:01:19.160
他们点击多少次
特定类别，等等。

00:01:19.160 --> 00:01:24.120
让我们来看看你如何
可以查询此数据。

00:01:25.330 --> 00:01:28.205
所以我有一个笔记本在这里。

00:01:28.205 --> 00:01:30.829
首先，我将设置上下文

00:01:30.829 --> 00:01:34.000
笔记本到数据库。

00:01:34.000 --> 00:01:38.535
这是销售，如
如本示例所示。

00:01:38.535 --> 00:01:43.354
因此，接下来，为了
查询 HDFS 中的数据，

00:01:43.354 --> 00:01:48.880
我们需要创造一些东西
称为外部数据源。

00:01:48.880 --> 00:01:52.790
因此，它是一个对象在
数据库，它告诉

00:01:52.790 --> 00:01:57.140
SQL 服务器
HDFS 数据驻留。

00:01:57.140 --> 00:01:59.940
所以在这个例子中，

00:01:59.940 --> 00:02:04.190
这个字符串在这里
从 SQL HDFS 开始，

00:02:04.190 --> 00:02:10.130
表示 HDFS 数据
在大数据群集中。

00:02:10.130 --> 00:02:14.450
因此，让我们先去
创建此数据源。

00:02:14.450 --> 00:02:17.870
因此，在您创建后
数据源，

00:02:17.870 --> 00:02:21.905
您需要指定什么文件格式

00:02:21.905 --> 00:02:27.410
数据源支持和
你要查询什么。

00:02:27.410 --> 00:02:29.375
所以在这种情况下，

00:02:29.375 --> 00:02:34.910
我要查询数据
位于帕奎特文件中。

00:02:34.910 --> 00:02:40.485
所以镶木地板的格式
文件在此处指定。

00:02:40.485 --> 00:02:45.960
因此，让我们先继续前进，
创建此文件格式对象。

00:02:46.090 --> 00:02:52.640
所以现在下一步是创建
SQL Server 中的外部表。

00:02:52.640 --> 00:02:57.020
因此，这表示列
即将查询

00:02:57.020 --> 00:03:02.165
从文件，也
文件的位置。

00:03:02.165 --> 00:03:03.710
所以在这种情况下，

00:03:03.710 --> 00:03:08.180
我要查询所有
来自此目录中的数据。

00:03:08.180 --> 00:03:12.520
因此，让我们快速看到
包含的内容。

00:03:12.520 --> 00:03:16.670
因此，我将在这里展开目录。

00:03:16.670 --> 00:03:20.780
正如您所看到的，有
三个帕奎特文件在这里。

00:03:20.780 --> 00:03:23.660
所以，现在我们要看看如何

00:03:23.660 --> 00:03:26.510
您可以查询这些
来自 SQL Server 的文件。

00:03:26.510 --> 00:03:31.310
所以我现在创建了一个外部
SQL Server 中的表对象，

00:03:31.310 --> 00:03:37.920
指向目录
包含帕奎特文件。

00:03:38.440 --> 00:03:43.680
首先，让我们来看看
文件中的某些行。

00:03:43.970 --> 00:03:48.675
所以我运行一个选择查询
与顶部提示，

00:03:48.675 --> 00:03:51.465
我看到10行

00:03:51.465 --> 00:03:57.470
这基本上预览行
从这些文件中读取。

00:03:57.470 --> 00:04:01.775
因此，您也可以稍微运行
更复杂的查询

00:04:01.775 --> 00:04:06.920
就像只是做一个计数
表中的行数。

00:04:06.920 --> 00:04:13.380
在这种情况下，我得到一个结果
回来，它大约有六百万。

00:04:14.210 --> 00:04:17.705
您还可以运行更多
高级查询。

00:04:17.705 --> 00:04:20.720
我有一个查询，这是

00:04:20.720 --> 00:04:25.505
试图找到前10名
点击次数最多的用户。

00:04:25.505 --> 00:04:27.850
因此，让我们运行该查询。

00:04:27.850 --> 00:04:29.535
正如你在这里看到的，

00:04:29.535 --> 00:04:31.325
现在，你能够运行

00:04:31.325 --> 00:04:35.375
常规 SQL 查询
针对 HDFS 中的数据。

00:04:35.375 --> 00:04:37.910
所以，你基本上可以
处理中的数据

00:04:37.910 --> 00:04:42.665
HDFS，就好像它们是本地的
表中的。

00:04:42.665 --> 00:04:46.900
在这种情况下，我可以使用
SQL 服务器的功能，

00:04:46.900 --> 00:04:50.060
和语法，和
函数在

00:04:50.060 --> 00:04:53.990
SQL Server 来编写查询。

00:04:53.990 --> 00:04:56.060
所以，你可以看到，

00:04:56.060 --> 00:05:03.200
现在我基本上可以得到
来自 HDFS 中的文件的结果。

00:05:03.200 --> 00:05:07.360
您还可以执行
其他联合行动。

00:05:07.360 --> 00:05:10.275
例如，我想

00:05:10.275 --> 00:05:13.815
合并 ClickStream 数据
一些库存数据，

00:05:13.815 --> 00:05:17.000
这也是驻留
在帕奎特文件中

00:05:17.000 --> 00:05:21.800
在 HDFS 中，它实际上显示在此处。

00:05:21.800 --> 00:05:24.140
因此，让我们运行此查询。

00:05:24.140 --> 00:05:28.400
在这种情况下，我们正在做的是
在 SQL 服务器实际上是

00:05:28.400 --> 00:05:34.170
连接两个不同的数据集
驻留在 HDFS 中。

00:05:34.270 --> 00:05:40.790
您可以在
使用 SQL 语法的 SQL 查询，

00:05:40.790 --> 00:05:44.275
你可以得到
该查询的结果。

00:05:44.275 --> 00:05:48.705
在此示例中，我们
实际上去 SQL Server，

00:05:48.705 --> 00:05:51.180
从 HDFS 读取文件，

00:05:51.180 --> 00:05:53.845
传递文件中的数据，

00:05:53.845 --> 00:05:56.195
执行联接操作

00:05:56.195 --> 00:06:00.425
并做额外的
在这种情况下，聚合，

00:06:00.425 --> 00:06:03.785
比如计算点击次数，

00:06:03.785 --> 00:06:08.790
添加库存
值，等等。

00:06:09.500 --> 00:06:11.640
最后但并非最不重要的，

00:06:11.640 --> 00:06:14.250
您也可以查询

00:06:14.250 --> 00:06:17.480
此 HDFS 数据并加入

00:06:17.480 --> 00:06:20.405
与其他数据坐在
在数据库中。

00:06:20.405 --> 00:06:22.175
所以在这个例子中，

00:06:22.175 --> 00:06:25.415
实际上，您可以查询
帕奎特文件

00:06:25.415 --> 00:06:30.120
并与 SQL Server 中的表联接。

00:06:36.560 --> 00:06:39.270
正如你现在看到的，

00:06:39.270 --> 00:06:44.170
SQL Server 中的集成
大数据群集使其非常

00:06:44.170 --> 00:06:49.215
易于加入数据
从 HDFS 到其他数据，

00:06:49.215 --> 00:06:52.214
在 HDFS 或其他表中，

00:06:52.214 --> 00:06:55.180
并很容易地获取信息。

00:06:55.180 --> 00:06:58.840
所以，现在你实际上可以建立
查询数据的应用程序

00:06:58.840 --> 00:07:02.790
来自不同数据源
很容易。谢谢。

00:07:02.790 --> 00:07:17.500
[音乐]

