WEBVTT

00:00:00.000 --> 00:00:09.223
[MÚSICA]

00:00:13.237 --> 00:00:15.891
Olá, todas as pessoas de boas-vindas para outro
episódio interessante de dados expostos.

00:00:15.891 --> 00:00:16.920
Sou seu anfitrião Scott Klein e

00:00:16.920 --> 00:00:19.060
volta comigo por populares
demanda Michael [DIVERTIDO].

00:00:19.060 --> 00:00:19.780
>> [RIR]
>> Michael Rys.

00:00:19.780 --> 00:00:20.370
>> Obrigado, Scott.

00:00:20.370 --> 00:00:22.000
>> Michael, como vai?

00:00:22.000 --> 00:00:23.570
>> Olá equipe Sim isso

00:00:23.570 --> 00:00:28.380
Estou novamente após um ano mais da metade
de não falar sobre SQL U.

00:00:28.380 --> 00:00:31.100
Volta a oferecer-lhe uma atualização
de que adicionamos e

00:00:31.100 --> 00:00:31.660
o que podemos ter alterado.

00:00:31.660 --> 00:00:34.540
>> Sim, e estamos ansiosos
a ele cuz U-SQL's um tópico popular.

00:00:34.540 --> 00:00:36.400
Então, antes de começarmos,
falamos sobre ele,

00:00:36.400 --> 00:00:38.490
introduzir si rapidamente para
quem não souber você.

00:00:38.490 --> 00:00:39.830
>> Sim, meu nome é Mike Rys,

00:00:39.830 --> 00:00:43.170
Sou gerente de programas
a equipe de dados grande do Microsoft.

00:00:43.170 --> 00:00:47.510
Sou responsável pelo SQL U e
Dados Azure Lake Analytics.

00:00:47.510 --> 00:00:48.240
>> Awesome.

00:00:48.240 --> 00:00:50.082
Certo, então você está aqui falar sobre,

00:00:50.082 --> 00:00:54.294
cuz Sim, tem sido provavelmente quatro para
seis meses desde que tínhamos nos últimos.

00:00:54.294 --> 00:00:54.960
>> Muito bem.

00:00:54.960 --> 00:00:59.070
>> O que é novo desde
última vez em que tínhamos em?

00:00:59.070 --> 00:01:02.790
>> Bem, portanto, fizemos um pouco de
progresso na adição de alguns recursos

00:01:02.790 --> 00:01:04.163
solicitou que as pessoas.

00:01:04.163 --> 00:01:04.737
>> Muito bem.
>> E

00:01:04.737 --> 00:01:09.060
Alguns recursos que achamos
pode ser interessante para adicionar.

00:01:09.060 --> 00:01:11.610
Também adicionou alguns desempenho
melhorias etc., e

00:01:11.610 --> 00:01:15.380
Eu sou o tipo de aqui para rapidamente
Toque alguns deles.

00:01:15.380 --> 00:01:17.014
>> Tudo bem.
>> E mostrar a você alguns códigos e

00:01:17.014 --> 00:01:17.910
exemplos, etc.

00:01:17.910 --> 00:01:18.750
>> Sempre gosto de olhar o código.

00:01:18.750 --> 00:01:20.160
Tudo bem, vamos entrar diretamente no.

00:01:20.160 --> 00:01:20.890
Então o que, tem?

00:01:20.890 --> 00:01:25.440
>> OK, primeiro em termos de
alguns novos recursos que temos.

00:01:25.440 --> 00:01:27.160
Adicionamos a segurança.

00:01:27.160 --> 00:01:27.690
>> OK.
>> E

00:01:27.690 --> 00:01:32.178
basicamente ACLing na pasta e
fidle nível, arquivo e

00:01:32.178 --> 00:01:34.925
nível de pasta, Desculpe-nos.

00:01:34.925 --> 00:01:36.500
>> [RIR]
>> No armazenamento, e

00:01:36.500 --> 00:01:39.900
também a capacidade de definir
permissões no nível de banco de dados.

00:01:39.900 --> 00:01:42.210
Deixe-me mostrar rapidamente
você que no portal,

00:01:42.210 --> 00:01:44.670
qual é a única forma que
ele pode fazer isso no momento.

00:01:44.670 --> 00:01:45.200
>> OK.
>> Então

00:01:45.200 --> 00:01:46.955
Aqui temos nosso portal Azure e

00:01:46.955 --> 00:01:49.170
Estou abrindo meu
Conta do lago de dados aqui.

00:01:50.370 --> 00:01:54.530
E, em seguida na conta do lago de dados
usando o Explorador de dados

00:01:54.530 --> 00:01:56.340
Posso ver meus bancos de dados aqui.

00:01:56.340 --> 00:01:59.010
Portanto, se eu ampliar rapidamente,

00:01:59.010 --> 00:02:00.910
Observe aqui meu Catálogo
>> Muito bem.

00:02:00.910 --> 00:02:02.930
>> tem esses bancos de dados.

00:02:02.930 --> 00:02:07.030
Vamos agora examinar
JSONBlock banco de dados aqui.

00:02:07.030 --> 00:02:13.160
E agora você notar aqui,
Há uma propriedade de gerenciar o acesso.

00:02:13.160 --> 00:02:17.510
Hoje, isso me permite
Basicamente, conceder permissões para

00:02:17.510 --> 00:02:21.340
as pessoas usam o banco de dados e
fazer coisas com ele.

00:02:21.340 --> 00:02:26.690
Portanto, você pode ver aqui, neste ponto,
é só me que têm acesso.

00:02:26.690 --> 00:02:29.975
Portanto, você tem um proprietário, que é o
pessoa que cria o banco de dados.

00:02:29.975 --> 00:02:30.600
>> Mm-hm.

00:02:30.600 --> 00:02:33.780
>> Você pode definir permissões
em uma base por grupo.

00:02:33.780 --> 00:02:35.460
E para todos os outros.

00:02:35.460 --> 00:02:39.244
Por exemplo, você poderia ter
um grupo de pessoas para

00:02:39.244 --> 00:02:41.221
exemplo criar objetos nela.

00:02:41.221 --> 00:02:45.634
Como registrar o assembly, criar
uma tabela, inserir dados e verificação automática.

00:02:45.634 --> 00:02:49.460
Ler somente os dados
dentro da tabela.

00:02:49.460 --> 00:02:52.737
>> É isso como outro Azure
armazenamento de dados e coisas como essas?

00:02:52.737 --> 00:02:53.727
Isso vem

00:02:53.727 --> 00:02:56.170
o Active Directory Azure
>> Sim.

00:02:56.170 --> 00:02:56.700
>> permissões?

00:02:56.700 --> 00:02:59.280
>> Até os princípios de segurança
são Azure Active Directory.

00:02:59.280 --> 00:03:02.630
É algum login ou

00:03:02.630 --> 00:03:06.160
um grupo de segurança que ele pode usar
como o princípio de segurança aqui.

00:03:06.160 --> 00:03:06.750
>> OK.
>> E

00:03:06.750 --> 00:03:09.960
as permissões
banco de dados são específicos.

00:03:09.960 --> 00:03:14.640
Para leitura ou gravação, ou
Enumerando basicamente, etc.

00:03:14.640 --> 00:03:16.780
Assim você pode ver aqui tipo de
as permissões que eles têm.

00:03:16.780 --> 00:03:17.340
>> OK.

00:03:17.340 --> 00:03:18.440
No nível de banco de dados.

00:03:18.440 --> 00:03:19.630
>> Muito bem, OK.

00:03:19.630 --> 00:03:22.210
E quanto tempo tem
que estava disponível?

00:03:22.210 --> 00:03:28.280
>> Para que foi disponibilizado para
cerca de um mês.

00:03:28.280 --> 00:03:29.608
>> OK.
>> Agora é a próxima coisa que eu

00:03:29.608 --> 00:03:31.780
gostaria de falar sobre
melhorias de desempenho.

00:03:31.780 --> 00:03:35.660
Agora esses aprimoramentos de desempenho
ainda não se encontram no produto.

00:03:35.660 --> 00:03:36.360
>> OK.
>> Mas

00:03:36.360 --> 00:03:39.315
deve ser provavelmente no momento
Este vídeo fica ativo.

00:03:39.315 --> 00:03:41.410
>> [RIR]
>> Ou logo após a sorte.

00:03:41.410 --> 00:03:42.020
>> Com sorte.

00:03:42.020 --> 00:03:44.118
>> Não como um mês mais tarde.

00:03:44.118 --> 00:03:47.380
E o que é, é basicamente estamos

00:03:47.380 --> 00:03:50.585
ter muitas pessoas que amor
Para usar nosso arquivo de conjunto de recurso.

00:03:50.585 --> 00:03:53.885
Recursos do conjunto de arquivos significa basicamente
Forneça um caminho que contenha

00:03:53.885 --> 00:03:58.125
caracteres curinga no caminho para pegar
todos os arquivos que correspondem ao caminho.

00:03:58.125 --> 00:03:59.145
>> Corresponde ao caminho.

00:03:59.145 --> 00:04:00.755
>> Mas
temos alguns problemas de desempenho.

00:04:00.755 --> 00:04:03.055
E deixe-me mostrar rapidamente
Você tem um exemplo aqui.

00:04:04.175 --> 00:04:09.620
Portanto, se eu entrar aqui
Eu tenho o Visual Studio.

00:04:09.620 --> 00:04:11.370
Tenho um script simples aqui.

00:04:11.370 --> 00:04:14.020
>> Muito bem.
>> Agora, esse script será

00:04:14.020 --> 00:04:16.230
alguns dos nossos dados de telemetria.

00:04:16.230 --> 00:04:16.949
>> OK.
>> E

00:04:16.949 --> 00:04:19.639
Se você examinar o que
Você tem aqui é,

00:04:19.639 --> 00:04:24.770
Ele basicamente tem um caminho muito longo
nome com muitos padrões nele.

00:04:24.770 --> 00:04:29.160
Portanto, ele basicamente parameterizes o
cluster em que vemos.

00:04:29.160 --> 00:04:30.840
A data, o ano, mês, data.

00:04:30.840 --> 00:04:31.610
>> Sim e o nome.

00:04:31.610 --> 00:04:33.350
>> E o nome do arquivo.

00:04:33.350 --> 00:04:36.929
E o que fazer aqui é apenas
Basicamente, extrair os dados de

00:04:38.200 --> 00:04:40.950
as linhas, portanto
Estou muito pouco preguiçoso aqui.

00:04:40.950 --> 00:04:42.440
>> Sim.
>> E promover obviamente todos

00:04:42.440 --> 00:04:45.395
desses, o que chamamos de colunas virtuais,
fora do padrão.

00:04:45.395 --> 00:04:45.950
>> À direita.
>> E

00:04:45.950 --> 00:04:49.270
em seguida, posso fazer algumas simples
as agregações para baixo lá, e

00:04:49.270 --> 00:04:50.660
saída-los em um arquivo.

00:04:50.660 --> 00:04:53.170
Portanto, não precisa
grave os dados.

00:04:53.170 --> 00:04:58.600
Agora, eu não vou executá-lo, mas
Se você executar este procedimento em relação a existente

00:04:58.600 --> 00:05:02.850
Hoje, o tempo de execução
Você irá notar algumas coisas aqui.

00:05:02.850 --> 00:05:06.110
Deixe-me a ampliar rapidamente para
Você pode ver os números aqui.

00:05:06.110 --> 00:05:13.000
Primeiro, temos cerca de 2,150
arquivos que você está operando em.

00:05:13.000 --> 00:05:15.010
Consulte lá
no lado direito.

00:05:15.010 --> 00:05:16.098
>> 2,150.
>> Deixe-me,

00:05:16.098 --> 00:05:18.700
Talvez mais zoom em parte aqui.

00:05:18.700 --> 00:05:20.310
Essa é basicamente a entrada.

00:05:20.310 --> 00:05:23.290
Portanto, operar em mais de 2.000 arquivos.

00:05:23.290 --> 00:05:23.940
>> OK.

00:05:23.940 --> 00:05:27.825
>> Agora Infelizmente,
compilação leva 10 minutos.

00:05:27.825 --> 00:05:28.600
>> [RIR]
>> No momento.

00:05:28.600 --> 00:05:31.230
E, na verdade,
Se você atingir cerca de 5.000 arquivos ou

00:05:31.230 --> 00:05:33.190
Por isso, expirará você.

00:05:33.190 --> 00:05:37.580
Pois nosso tempo de compilação
limite é de 24 minutos.

00:05:37.580 --> 00:05:39.620
>> OK.
>> E desconsidere o enfileiramento de mensagens,

00:05:39.620 --> 00:05:42.850
tinha algumas outras coisas funcionando com o
mesmo tempo em que eu estava fazendo este trabalho.

00:05:42.850 --> 00:05:46.411
E, em seguida, você está
executando em 35 minutos.

00:05:46.411 --> 00:05:46.932
>> Sim, woo.

00:05:46.932 --> 00:05:50.264
>> Ou 35 e uma metade minutos
Na verdade, obtenha as coisas.

00:05:50.264 --> 00:05:50.889
>> OK.

00:05:50.889 --> 00:05:53.178
>> Sim, portanto não muito bom.

00:05:53.178 --> 00:05:55.150
>> Mais de 2.000 arquivos que
parece muito tempo.

00:05:56.240 --> 00:05:57.570
>> O que fizemos foi agora,

00:05:57.570 --> 00:06:02.120
Agora é o trabalho com
os novos bits em execução.

00:06:02.120 --> 00:06:02.660
>> OK.

00:06:02.660 --> 00:06:07.890
>> E a primeira coisa
Observe que meu

00:06:07.890 --> 00:06:11.530
tempo de compilação agora passou
para baixo em uma ordem de magnitude.

00:06:11.530 --> 00:06:12.830
Agora é sobre cerca de um minuto.

00:06:12.830 --> 00:06:13.640
>> Por minuto, muito bem.

00:06:13.640 --> 00:06:17.560
>> E provavelmente vai
Para dimensionar muito melhor no

00:06:17.560 --> 00:06:18.707
termos do número de arquivos.

00:06:18.707 --> 00:06:19.508
>> OK.
>> Então esperamos que ele

00:06:19.508 --> 00:06:21.780
ser ordem de um ou dois dos
arquivos mais de anteriormente.

00:06:21.780 --> 00:06:23.550
>> Wow.

00:06:23.550 --> 00:06:25.990
>> E outra nota
como você talvez Observe é,

00:06:25.990 --> 00:06:30.890
Desconsidere novamente o enfileiramento de mensagens, o
execução foi menos de dez minutos.

00:06:30.890 --> 00:06:35.700
Para o processamento desses
arquivos de mais de 2.000 foi bastante

00:06:35.700 --> 00:06:37.180
Agora um pouco mais rápida.

00:06:37.180 --> 00:06:41.010
Porque nós também produzido
planos que melhor

00:06:41.010 --> 00:06:43.510
Saiba como lidar com esses arquivos.

00:06:43.510 --> 00:06:44.420
>> OK, boa.

00:06:44.420 --> 00:06:47.930
>> Assim isso é apenas de uma dica em

00:06:47.930 --> 00:06:49.825
quais são as novidades
termos de desempenho.

00:06:49.825 --> 00:06:50.440
>> Válida.

00:06:50.440 --> 00:06:53.710
>> Outra coisa que
melhorar a reutilização de contêineres.

00:06:53.710 --> 00:06:58.160
Então, hoje quando você agendar um trabalho
todas as anotações que você

00:06:58.160 --> 00:07:02.920
ter dentro do gráfico do trabalho
Execute basicamente em contêiners de jovens.

00:07:02.920 --> 00:07:08.550
E sempre que um trabalho é iniciado,
ele cria um novo recipiente e

00:07:08.550 --> 00:07:13.225
que leva entre a metade de um segundo
potencialmente em alguns segundos.

00:07:13.225 --> 00:07:13.970
>> À direita.

00:07:13.970 --> 00:07:17.710
>> E portanto o que estamos agora
fazendo na próxima versão

00:07:17.710 --> 00:07:20.440
é que podemos reutilizar
os recipientes onde for possível.

00:07:20.440 --> 00:07:23.780
Para que você basicamente não tendo
Esse tempo de inicialização o tempo todo.

00:07:23.780 --> 00:07:26.799
E que também deve melhorar
o desempenho um pouco.

00:07:27.930 --> 00:07:28.830
>> Que 's bom saber.

00:07:28.830 --> 00:07:29.893
>> Agora em termos de funcionalidade,

00:07:29.893 --> 00:07:31.441
Obviamente, já que eu não
foi aqui para tanto.

00:07:31.441 --> 00:07:32.469
>> [RIR]
>> Temos um grande número de

00:07:32.469 --> 00:07:33.089
Funcionalidade de [CROSSTALK].

00:07:33.089 --> 00:07:35.760
>> Uma longa lista.

00:07:35.760 --> 00:07:39.350
>> Talvez eu ir e mostrar algumas das
aqueles, deixe-me passar rapidamente.

00:07:39.350 --> 00:07:43.000
Por isso adicionamos amostragem, falarei
Mostre um exemplo simples de lá.

00:07:43.000 --> 00:07:46.840
Mas nós também temos capacidade
a amostragem uniforme e

00:07:46.840 --> 00:07:50.480
amostragem uniforme em
conjuntos de dados correlacionados.

00:07:50.480 --> 00:07:54.310
Para que se fizer desenhos, você obtém:
Na verdade, um estatisticamente significativa

00:07:54.310 --> 00:07:56.765
exemplo dos dois
parceiros conjuntos.

00:07:56.765 --> 00:07:57.610
>> À direita.

00:07:57.610 --> 00:08:02.270
>> É também a capacidade
CLASSIFICADA ou reduzir.

00:08:02.270 --> 00:08:05.330
Vou mostrar rapidamente o código
como chamá-lo.

00:08:05.330 --> 00:08:10.190
Tenho um blog postar no meu MSDM
blog na verdade mostra como

00:08:10.190 --> 00:08:13.090
para gravar o Redutor também.

00:08:13.090 --> 00:08:18.240
Adicionamos mais
Opções de declaração de variável

00:08:18.240 --> 00:08:20.845
que nós pode lidar com
parametrização e

00:08:20.845 --> 00:08:23.705
constante de dobramento,
Vou mostrar que em um segundo.

00:08:23.705 --> 00:08:25.563
E nós adicionamos IF, Else.

00:08:25.563 --> 00:08:28.127
>> Muito bem [RIR].

00:08:28.127 --> 00:08:28.985
Sim!

00:08:28.985 --> 00:08:30.465
>> No entanto, é apenas o tempo de compilação.

00:08:30.465 --> 00:08:31.245
>> OK.
>> Basicamente oferece

00:08:31.245 --> 00:08:33.355
a capacidade para
parametrize o script.

00:08:33.355 --> 00:08:33.930
>> OK.
>> E

00:08:33.930 --> 00:08:37.815
Consulte se você deseja executar,
Digamos que,

00:08:37.815 --> 00:08:40.933
a versão de depuração ou na produção
versão do seu script, por exemplo.

00:08:40.933 --> 00:08:42.860
>> OK.
Ainda útil embora.

00:08:42.860 --> 00:08:47.200
>> Sim, você também pode usar
O arquivo existe ou existe uma partição

00:08:47.200 --> 00:08:51.550
dentro do IF, ELSE expressão,
ou em qualquer outro contexto booleano.

00:08:51.550 --> 00:08:53.492
>> OK.
>> Para verificar, por exemplo,

00:08:53.492 --> 00:08:56.323
o arquivo ou
já existe uma partição.

00:08:56.323 --> 00:08:59.490
E se isso ocorrer,
em seguida, vamos executar algo.

00:08:59.490 --> 00:09:01.040
Ou se não for,
em seguida, execute alguma outra coisa.

00:09:01.040 --> 00:09:02.150
>> Que 's excelente.
>> Isso, mostraremos que em

00:09:02.150 --> 00:09:02.830
um minuto também.

00:09:02.830 --> 00:09:04.080
>> OK.

00:09:04.080 --> 00:09:06.680
Ignorar as primeiras n linhas, essa tem sido
solicitado para por um tempo, acho.

00:09:06.680 --> 00:09:07.920
>> Sim, Sim, Sim, e

00:09:07.920 --> 00:09:11.252
Na verdade esperávamos que podemos
teria-out há muito tempo.

00:09:11.252 --> 00:09:12.245
>> [RIR]
>>, Mas levamos,

00:09:12.245 --> 00:09:13.890
Infelizmente, um pouco mais.

00:09:13.890 --> 00:09:14.770
E agora ele está lá.

00:09:14.770 --> 00:09:15.607
>> OK.
>> Isso, mostraremos que

00:09:15.607 --> 00:09:16.169
em um minuto também.

00:09:16.169 --> 00:09:18.420
>> Woo, tudo bem.

00:09:18.420 --> 00:09:20.650
>> E
usando a instrução para abreviar nomes de C#.

00:09:20.650 --> 00:09:23.150
>> OK.
>> Mostrarei que rapidamente.

00:09:23.150 --> 00:09:26.980
E por último, mas não menos importante,
podemos ter alterar tabela adicionar e

00:09:26.980 --> 00:09:28.090
Removendo colunas.

00:09:28.090 --> 00:09:29.491
>> OK.
>> Que lhe dá a capacidade de fazer

00:09:29.491 --> 00:09:31.490
um pouco de esquema
evolução em suas tabelas.

00:09:31.490 --> 00:09:32.560
>> Maravilhosa.
>> Também.

00:09:32.560 --> 00:09:34.950
>> Válida.
>>, Não mostrarei que embora.

00:09:34.950 --> 00:09:36.397
>> Que 's bem.
>> Você pode procurá-lo na versão

00:09:36.397 --> 00:09:37.598
Observações que publicamos um pouco.

00:09:37.598 --> 00:09:41.017
>> OK.
>> Tudo bem, vamos voltar para meu código

00:09:41.017 --> 00:09:45.633
aqui e vejamos
um segundo script que tenho.

00:09:45.633 --> 00:09:49.318
Agora o que esse script faz é
declara algumas variáveis e

00:09:49.318 --> 00:09:51.275
Eu consegui isso em um segundo.

00:09:51.275 --> 00:09:52.862
>> Mm-hm.

00:09:52.862 --> 00:09:54.800
>> Porque existe
são opções diferentes e

00:09:54.800 --> 00:09:56.681
Desejo mostrar rapidamente
é o que eles fazem.

00:09:56.681 --> 00:09:59.712
E então aqui em baixo,
ter uma instrução IF.

00:09:59.712 --> 00:10:04.472
E se a instrução não é
Na verdade, verifica o arquivo existe

00:10:04.472 --> 00:10:07.617
na loja quando
o script é compilado.

00:10:07.617 --> 00:10:09.279
>> Sim, isso é um dos exemplos
você deu o slide, certo?

00:10:09.279 --> 00:10:14.260
>> Sim, e se ele existir,
em seguida, faço uma extração aqui.

00:10:14.260 --> 00:10:18.899
Agora essa extração opera
em alguns dados de telemetria do carro.

00:10:18.899 --> 00:10:23.839
E, portanto, que os dados realmente
contém, deixe-me mostrar que

00:10:23.839 --> 00:10:29.049
é rápida, duas linhas de cabeçalho.

00:10:31.040 --> 00:10:34.630
Portanto, você pode ver aqui, é que alguns carros
Telemetria na linha para baixo.

00:10:34.630 --> 00:10:39.132
Mas oferece apenas a primeira linha
me algumas informações de gravação.

00:10:39.132 --> 00:10:43.199
E, em seguida, a segunda linha me dá
a linha de cabeçalho real e assim por diante.

00:10:43.199 --> 00:10:45.929
E, obviamente, eu poderia
Deseja ignorar esses dois, então

00:10:45.929 --> 00:10:47.361
Se meu extractor funciona.

00:10:50.286 --> 00:10:55.948
Portanto, estou usando o skipFirstNRows:2.

00:10:55.948 --> 00:11:00.877
Em seguida, posso fazer alguns cálculos aqui,
apenas alguns agrupamento

00:11:00.877 --> 00:11:05.940
Veja algumas informações, e
em seguida, no final de saída.

00:11:05.940 --> 00:11:07.880
Se o arquivo não existir,

00:11:07.880 --> 00:11:13.200
Criar uma linha de pseudo aqui
que diz: arquivo não encontrado.

00:11:13.200 --> 00:11:16.334
E posso fazer a mesma saída
por trapaça no nome do

00:11:16.334 --> 00:11:17.410
a coluna.

00:11:17.410 --> 00:11:19.328
>> [RIR]
>> Assim, esperamos que isso funciona.

00:11:19.328 --> 00:11:23.576
OK, portanto, se eu executo isso agora,
bem, antes de eu executo,

00:11:23.576 --> 00:11:27.930
Deixe-me a declarar rapidamente
Explique a declaração aqui.

00:11:27.930 --> 00:11:31.700
Portanto, essa instrução declare
diz o nome DECLARAR externo.

00:11:31.700 --> 00:11:36.380
Agora, o que isso faz é que me permite
Para adicionar outra instrução de declaração

00:11:36.380 --> 00:11:41.180
ou um parâmetro do script.

00:11:41.180 --> 00:11:43.424
Mas se não houver nenhum
parâmetro fornecido,

00:11:43.424 --> 00:11:46.332
em seguida, o script continuará sendo executada
com esse valor padrão.

00:11:46.332 --> 00:11:49.692
Portanto, não, porque se hoje eu
ter dois declarar instruções para

00:11:49.692 --> 00:11:52.090
a mesma variável
é basicamente o erro.

00:11:52.090 --> 00:11:53.610
E, nesse caso, basicamente dizemos,

00:11:53.610 --> 00:11:56.790
bem, na verdade, isso é tipo de
o padrão para o script.

00:11:56.790 --> 00:11:59.750
E se você deseja fornecer com
algum mecanismo de parâmetro para

00:11:59.750 --> 00:12:02.785
exemplo, Azure Data Factory
como um modelo de parâmetro

00:12:02.785 --> 00:12:04.620
onde eles anexado
as declarações de classe.

00:12:04.620 --> 00:12:08.355
Então, que me daria a capacidade
como padrão este script e

00:12:08.355 --> 00:12:11.595
em seguida, ainda parametrize para
exemplo através do ADF ou

00:12:11.595 --> 00:12:13.805
alguma outra ferramenta de envio.

00:12:13.805 --> 00:12:17.623
A quinta linha aqui
CONST declara, diz.

00:12:17.623 --> 00:12:21.483
Isso é, ele, na verdade,
verifica se a expressão que

00:12:21.483 --> 00:12:25.430
fornecer depois é constante dobrável,
Por que isso é importante?

00:12:25.430 --> 00:12:30.200
Bem, a constante dobrável é algo
que nós podem avaliar na compilação

00:12:30.200 --> 00:12:31.220
tempo, e

00:12:31.220 --> 00:12:35.300
temos alguns contextos onde estamos
permite que você coloque em expressões.

00:12:35.300 --> 00:12:38.860
Qualquer um que seja
constante dobrável, como para

00:12:38.860 --> 00:12:41.810
exemplo a partir de
cláusula em um trecho.

00:12:41.810 --> 00:12:46.190
Ou tenho otimizações especiais
que irá acontecer.

00:12:47.790 --> 00:12:51.580
Mas ainda serão executadas mesmo
Se não for constante dobrável.

00:12:51.580 --> 00:12:54.810
Para que isso me dá a capacidade
para declarar que esta expressão

00:12:54.810 --> 00:12:55.830
é constante dobrável.

00:12:55.830 --> 00:12:57.028
Agora, neste caso,

00:12:57.028 --> 00:13:01.617
já que estou fazendo concatenação de cadeia de caracteres
com uma função anônima lá.

00:13:01.617 --> 00:13:03.347
>> [RIR]
>> Isso não vai ser

00:13:03.347 --> 00:13:05.943
constante dobrável, portanto
Se eu compilar isso.

00:13:08.872 --> 00:13:13.118
E eu recebo o erro de sintaxe
Como estou executando em não ainda

00:13:13.118 --> 00:13:14.840
lançado em tempo de execução aqui.

00:13:14.840 --> 00:13:18.392
Portanto, é minha ferramenta local
não atualizado ainda.

00:13:18.392 --> 00:13:22.376
>> [RIR]
>> Você observou após cerca de seis para

00:13:22.376 --> 00:13:29.512
dez segundos que será o compilador
reclamações sobre isso, vamos ver.

00:13:32.613 --> 00:13:34.850
>> Isso, neste ponto,
muito bem, início.

00:13:34.850 --> 00:13:37.600
>> Muito bem, então
Vamos percorrer os erros aqui.

00:13:38.740 --> 00:13:42.850
E se eu aplicar mais zoom,
Você notará que ele agora diz:

00:13:42.850 --> 00:13:46.850
a expressão não pode ser
avaliado em tempo de compilação.

00:13:46.850 --> 00:13:47.447
>> Não pode ser dobrado.
E

00:13:47.447 --> 00:13:52.330
aqui é a DECLARAR CONST
expressão em que isso acontece.

00:13:53.800 --> 00:13:58.458
Portanto, o que pode fazer agora é
Posso entrar no verso do curso,

00:13:58.458 --> 00:14:04.490
Corrija isso, e
corrigi-lo com esta instrução.

00:14:04.490 --> 00:14:08.470
Agora, o padrão que eu tenho aqui,
Esse arquivo não existe.

00:14:08.470 --> 00:14:15.587
Portanto, se eu executar esse trabalho agora,
Ele será vá e execute e

00:14:15.587 --> 00:14:21.032
criar o arquivo informando apenas
Se o arquivo não existe.

00:14:21.032 --> 00:14:27.234
>> Tudo bem, então
Isso vai tirar um pouco.

00:14:29.174 --> 00:14:32.710
O código que estamos presenciando?

00:14:32.710 --> 00:14:33.910
>> Estávamos presenciando isso aqui.

00:14:33.910 --> 00:14:38.030
>> OK, portanto, a diferença,
Como eu estava dizendo que a linha 5

00:14:38.030 --> 00:14:42.020
Nesse ponto não pode ser dobrado, portanto
cuz não pôde localizar o nome?

00:14:42.020 --> 00:14:44.408
>> Não, portanto, dobrando constante significa
que pode ser avaliada ou

00:14:44.408 --> 00:14:45.019
compilado no.

00:14:45.019 --> 00:14:48.533
Para que somos basicamente kind
fazer alguns avaliação do

00:14:48.533 --> 00:14:49.890
as expressões.

00:14:49.890 --> 00:14:52.018
Como o que o C# faz por exemplo,

00:14:52.018 --> 00:14:54.288
Se você adicionar duas constante
valores com C#.

00:14:54.288 --> 00:14:57.846
>> E portanto, nesse caso, é claro
Essa expressão lambda não é

00:14:57.846 --> 00:15:01.826
constante dobrável porque nossa
pasta de constante não é inteligente o suficiente

00:15:01.826 --> 00:15:02.819
para procurar nele.

00:15:02.819 --> 00:15:06.251
Embora uma simple cadeia de caracteres
concatenação é suportada,

00:15:06.251 --> 00:15:08.981
Na verdade, todos os a cadeia de caracteres
as operações são,

00:15:08.981 --> 00:15:11.733
é por isso que eu tinha como tal um
>> Tudo bem, muito bem,

00:15:11.733 --> 00:15:12.559
Isso faz sentido agora.

00:15:12.559 --> 00:15:15.719
>> Todos os direitos, legal, vamos
Faça e veja o que faz o trabalho.

00:15:17.110 --> 00:15:17.631
Portanto ele está sendo executado agora.

00:15:20.490 --> 00:15:22.140
Provavelmente já concluída, Sim.

00:15:23.910 --> 00:15:27.015
Agora,
Se abrir o meu arquivo de cabeçalho aqui,

00:15:27.015 --> 00:15:31.592
baixá-lo, que você irá

00:15:31.592 --> 00:15:36.562
Observe que estou recebendo a -
>> Não foi encontrado.

00:15:36.562 --> 00:15:37.620
>> Arquivo não encontrado.

00:15:38.680 --> 00:15:43.920
E se eu voltar agora e
Posso mudar isso

00:15:43.920 --> 00:15:48.450
e adicionar esse DECLARE adicional

00:15:48.450 --> 00:15:51.640
instruções antes do external
declaração da mesma variável.

00:15:52.770 --> 00:15:54.420
E posso enviá-lo agora

00:15:55.450 --> 00:15:57.770
Nesse momento
realmente funciona.

00:15:57.770 --> 00:16:00.210
>> É exibida.
>> Talvez caso, enquanto ele estiver sendo executado,

00:16:00.210 --> 00:16:01.850
Deixe-me mostrar alguns rapidamente
outras coisas.

00:16:04.520 --> 00:16:10.210
Portanto, uma coisa que eu queria
Mostrar era o intervalo, o PRESORT.

00:16:10.210 --> 00:16:14.540
Portanto, neste caso, aqui eu
ter um U-SQL scripts

00:16:14.540 --> 00:16:16.780
leva alguns dados de intervalos.

00:16:16.780 --> 00:16:22.340
E eu preciso tipo de recolher
os intervalos estão sobrepostas.

00:16:22.340 --> 00:16:26.940
E, portanto, para que seja possível fazer
que, posso escrever um agregador personalizado.

00:16:26.940 --> 00:16:31.492
Mas o agregador personalizado, o melhor
maneira de fazer isso é, se eu fizer

00:16:31.492 --> 00:16:34.400
Basicamente, preciso
entrada de dados classificados.

00:16:34.400 --> 00:16:38.594
Então, pode olhar para o próximo
linha para ver se tenho incluí-lo

00:16:38.594 --> 00:16:42.174
no intervalo anterior ou
Se iniciar um novo intervalo.

00:16:42.174 --> 00:16:46.647
E então, classificada basicamente agora
me dá a capacidade de criar

00:16:46.647 --> 00:16:49.650
agregações ordenadas definido pelo usuário.

00:16:49.650 --> 00:16:55.320
Portanto, isso é apenas um exemplo, você
ter isso em meu blog do MSDN.

00:16:55.320 --> 00:16:59.260
Disponível se você quiser também
Observe como o código é semelhante, e

00:16:59.260 --> 00:17:01.270
ele pode ser baixado da
nosso site de backup também.

00:17:02.400 --> 00:17:05.800
Portanto, em seguida, a segunda
coisa que eu queria mostrar

00:17:05.800 --> 00:17:07.799
rapidamente é a instrução USING.

00:17:09.230 --> 00:17:13.230
Novamente, isso é código que podemos
pode fazer o download do nosso GitHub.

00:17:14.670 --> 00:17:19.570
Então, o que devo fazer aqui é que faço referência
um assembly espacial do SQL Server

00:17:19.570 --> 00:17:22.010
que baixado e instalado.

00:17:22.010 --> 00:17:24.880
E também já predefinidas e

00:17:24.880 --> 00:17:29.220
pré-carregados no nosso tempo de execução é
o assembly System. Data.

00:17:29.220 --> 00:17:31.788
Agora, em vez de
grave tipos do Microsoft SQL server.

00:17:31.788 --> 00:17:35.734
>> [RIR]
>> SQL geometry ou geography,

00:17:35.734 --> 00:17:39.181
Usar a instrução USING
para reduzir, e

00:17:39.181 --> 00:17:42.243
em seguida, pode usar que
dentro de minha expressão C#.

00:17:42.243 --> 00:17:44.380
>> Por isso, faz a experiência
muito melhor nesse caso?

00:17:44.380 --> 00:17:46.322
>> Sim,
semelhante ao uso da cláusula em C#

00:17:46.322 --> 00:17:48.773
exceto que é superior
em vez de letras minúsculas.

00:17:48.773 --> 00:17:51.057
>> Tudo bem, Sim, maravilhosa.

00:17:51.057 --> 00:17:56.300
>> Agora, Voltemos ao nosso trabalho
que, obviamente, foi concluída.

00:17:56.300 --> 00:17:59.779
Como você pode ver, escrevemos
um pouco mais dados aqui, portanto

00:17:59.779 --> 00:18:01.202
Se baixar o arquivo.

00:18:06.711 --> 00:18:11.142
Agora você verá que eu fiz-
>> Tudo bem, você obter alguns dados?

00:18:11.142 --> 00:18:16.447
>> Cinco voltas, que é a duração
de cada volta em milissegundos ou

00:18:16.447 --> 00:18:19.890
Portanto, isso é o mais alto
RPM que recebi.

00:18:19.890 --> 00:18:21.666
Isso também é a mais alta
velocidade que recebi, isso

00:18:21.666 --> 00:18:24.078
em um ponto de quilômetros por hora,
não em milhas por hora.

00:18:24.078 --> 00:18:25.125
>> [RIR].

00:18:25.125 --> 00:18:30.708
E por isso o mais rápido que fiquei, como era
200 kilometres hora e 196.

00:18:30.708 --> 00:18:32.534
E, em seguida, houve provavelmente,

00:18:32.534 --> 00:18:36.660
Tive de unidade atrás de outro
alguém que estava apenas com 150 mais ou menos.

00:18:36.660 --> 00:18:39.654
>> Correto, bem 200 km
hora, ainda cerca de 100 e -

00:18:39.654 --> 00:18:40.271
>> 25 milhas.

00:18:40.271 --> 00:18:41.903
milhas >> 25, OK.

00:18:41.903 --> 00:18:43.551
Que ainda é de recorte
ao longo de muito bom.

00:18:43.551 --> 00:18:44.287
>> E que estava em uma faixa da corrida.

00:18:44.287 --> 00:18:45.263
>> OK.
[RIR]

00:18:45.263 --> 00:18:46.279
>> E não em estradas públicas.

00:18:46.279 --> 00:18:47.303
>> Que estava em 405. [FAZER]

00:18:47.303 --> 00:18:48.575
>> Não nenhum, nenhum, nenhum, não.

00:18:48.575 --> 00:18:50.702
Eu não perdoa que unidade normal.

00:18:50.702 --> 00:18:51.472
>> Muito bom.

00:18:51.472 --> 00:18:54.991
[RIR]
>> Certo, então isso apenas mostra como

00:18:54.991 --> 00:19:00.010
Agora, podemos basicamente usar se, em seguida
Instrução ELSE e ignorar o cabeçalho.

00:19:00.010 --> 00:19:04.925
Porque agora, obviamente, deixamos de lado
Esses dois cabeçalhos sem ter que

00:19:04.925 --> 00:19:08.756
para gravar um extrator personalizado ou
dizer silencioso é igual a verdadeiro ou

00:19:08.756 --> 00:19:16.240
algo bem, então voltar agora,
aqui eu penso mostra a maior parte dela.

00:19:16.240 --> 00:19:20.130
Agora, suporte também 's algo
que adicionamos novos recursos.

00:19:20.130 --> 00:19:21.320
No Visual Studio agora,

00:19:21.320 --> 00:19:24.790
Se você tiver um erro de tempo de execução
Há uma barra que aparece na parte superior,

00:19:24.790 --> 00:19:29.690
que permite que você baixe o
Falha ao vértice e depurá-lo localmente.

00:19:29.690 --> 00:19:33.685
Portanto, se você tiver o código do usuário, digamos que
você escrever seu próprio extractor, ou

00:19:33.685 --> 00:19:35.758
você escreve o UDF C# complicado.

00:19:35.758 --> 00:19:39.881
E encontrar um problema
causa de, eu não sei,

00:19:39.881 --> 00:19:45.710
capacidade de memória excedida, números inválidos
de colunas, converta erros mais ou menos.

00:19:45.710 --> 00:19:48.230
Agora você pode baixar o vértice e

00:19:48.230 --> 00:19:51.850
examiná-la localmente no local
depurador, dentro do Visual Studio.

00:19:51.850 --> 00:19:52.670
>> E ver onde it -
>> E depurá-lo e

00:19:52.670 --> 00:19:53.265
Veja o que acontece.

00:19:53.265 --> 00:19:54.913
Portanto, é outro recurso muito interessante.

00:19:54.913 --> 00:19:55.594
>> Muito bom.

00:19:55.594 --> 00:19:59.084
>> E espero que nós pode convidar um
dos membros do equipe do Visual Studio

00:19:59.084 --> 00:20:01.724
equipe poderia fazer um vídeo em algum momento. um

00:20:01.724 --> 00:20:02.220
>> Que seria interessante.

00:20:02.220 --> 00:20:03.620
OK, muito bem, vai planejamos fazer isso.

00:20:03.620 --> 00:20:05.692
>> Correto,
Agora é um pouco mais sério.

00:20:05.692 --> 00:20:06.910
Assim, tivemos a boa notícia.

00:20:06.910 --> 00:20:08.470
Agora a má notícia [DIVERTIDO].

00:20:08.470 --> 00:20:10.523
>> É longo prazo ainda boa notícia,
mas

00:20:10.523 --> 00:20:14.102
Isso significa que as pessoas que realmente
usando o novo SQL pode agora

00:20:14.102 --> 00:20:15.971
tem de corrigir seus scripts.

00:20:15.971 --> 00:20:16.670
>> OK.

00:20:16.670 --> 00:20:19.909
>> Isso ao longo do tempo de
nosso desenvolvimento de recursos

00:20:19.909 --> 00:20:23.146
Temos algumas coisas
que percebemos que precisa

00:20:23.146 --> 00:20:26.481
ser melhorado porque ele
era difícil de entender.

00:20:26.481 --> 00:20:30.732
Porque ela era enganosa,
um pouco incorreto, etc.

00:20:30.732 --> 00:20:35.044
O primeiro é que as pessoas tem
confundido com nossa sintaxe da partição

00:20:35.044 --> 00:20:37.050
na instrução de criação de tabela.

00:20:37.050 --> 00:20:39.175
Portanto, estamos dizendo foram:
PARTICIONADOS pelo HASH e

00:20:39.175 --> 00:20:42.220
em seguida, dissemos que também
PARTICIONADA POR CLASSIFICAÇÃO.

00:20:42.220 --> 00:20:43.845
E não era claro como eles se relacionam.

00:20:43.845 --> 00:20:44.676
>> OK.
>> E assim por

00:20:44.676 --> 00:20:48.742
Agora estamos fazendo a terminologia
muito, muito mais preciso.

00:20:48.742 --> 00:20:49.414
>> OK.

00:20:49.414 --> 00:20:51.369
>> Agora, se dizemos partição,

00:20:51.369 --> 00:20:54.687
as partições são coisas
que são endereçáveis.

00:20:54.687 --> 00:20:59.310
Que costumava ser chamado
PARTICIONADA POR CLASSIFICAÇÃO.

00:20:59.310 --> 00:21:02.818
Além disso, a coisa que usamos
para chamar o hash partição são agora o hash

00:21:02.818 --> 00:21:06.624
distribuição ou distribuição de intervalo
Basicamente, qual é a distribuição

00:21:06.624 --> 00:21:10.240
os dados em uma tabela ou
dentro de uma partição individual.

00:21:10.240 --> 00:21:14.190
E é por isso que agora muito
claramente indicados na sintaxe.

00:21:14.190 --> 00:21:17.237
Isso se você tiver sido usando
PARTICIONADO, por favor, por favor,

00:21:17.237 --> 00:21:19.524
acesse e altere seu código
em distribuído pela.

00:21:19.524 --> 00:21:20.400
>> OK.
>> Também,

00:21:20.400 --> 00:21:25.144
Se você usar PARTICIONADA por classificação
em seguida vá e use PARTICIONADA por

00:21:25.144 --> 00:21:27.194
DISTRIBUÍDO por, em vez disso.

00:21:27.194 --> 00:21:30.194
Que é, na verdade,
muito importante, porque logo

00:21:30.194 --> 00:21:32.660
nós iremos mudar desativar sintaxe antiga,
direita?

00:21:32.660 --> 00:21:37.688
Agora oferecemos suporte a ambos,
mas, ao final de setembro

00:21:37.688 --> 00:21:42.454
início de outubro, provavelmente,
nós iremos mudar a sintaxe antiga.

00:21:42.454 --> 00:21:45.121
E, você terá que ir e
Altere seu script.

00:21:45.121 --> 00:21:46.442
>> Tudo bem, Sim.

00:21:46.442 --> 00:21:49.839
>> E observe que ele não afeta
algo sobre os dados, portanto,

00:21:49.839 --> 00:21:53.947
Você não precisa ir e
executar novamente o script, os metadados,

00:21:53.947 --> 00:21:56.724
os dados abaixo
é exatamente o mesmo.

00:21:56.724 --> 00:21:58.921
É assim que a sintaxe
está mudando, isso

00:21:58.921 --> 00:22:01.523
Você não precisa fazer nada.

00:22:01.523 --> 00:22:07.061
E, da mesma forma, agora vamos
para exigir a usar as oficiais

00:22:07.061 --> 00:22:11.954
indicação de
24 horas no arquivo definir padrões.

00:22:11.954 --> 00:22:18.448
Então atualmente com suporte ambos
h de letras minúsculas e maiusculas H.

00:22:18.448 --> 00:22:23.524
Mas em C#, menor caso h em
meios de idioma padrão para

00:22:23.524 --> 00:22:25.606
somente relógios de 12 horas.

00:22:25.606 --> 00:22:29.282
E, portanto, vamos agora basicamente
Substituir o h minúsculo e

00:22:29.282 --> 00:22:31.268
será necessário apenas maiuscula H.

00:22:31.268 --> 00:22:34.050
>> H letras maiusculas, OK.

00:22:34.050 --> 00:22:39.490
>> Outra coisa no arquivo
Definir tamanho, tínhamos duas maneiras de

00:22:39.490 --> 00:22:43.150
basicamente dando um wild
placa em um nome e

00:22:43.150 --> 00:22:45.654
que é do tipo string ou
em texto ou forma.

00:22:45.654 --> 00:22:49.326
Um era, col; *.

00:22:49.326 --> 00:22:49.904
>> Muito bem.
>> E

00:22:49.904 --> 00:22:51.293
outro era apenas o nome da coluna.

00:22:51.293 --> 00:22:51.981
>> OK.

00:22:51.981 --> 00:22:53.279
>> E que estava confuso.

00:22:53.279 --> 00:22:55.576
Eles tinham um pouco
semântica diferente, mas

00:22:55.576 --> 00:22:58.909
foi muito confuso para pessoas
Para compreender quando usar o quê.

00:22:58.909 --> 00:23:03.898
Portanto, vamos basicamente
Remover codinome col *,

00:23:03.898 --> 00:23:08.780
e fará a semântica
do que apenas tem de

00:23:08.780 --> 00:23:13.900
nome de col seja equivalente a
uma estrela antes.

00:23:13.900 --> 00:23:16.717
Portanto, ir e
alterar novamente porque [INAUDIBLE]-

00:23:16.717 --> 00:23:19.427
>> [CROSSTALK]

00:23:19.427 --> 00:23:22.676
>> Script irá parar de funcionar quando você

00:23:22.676 --> 00:23:24.189
não fazer isso.

00:23:24.189 --> 00:23:25.997
OK, é isso.

00:23:25.997 --> 00:23:26.580
>> OK, incrível.

00:23:26.580 --> 00:23:28.741
Informações muito, muito bons.

00:23:28.741 --> 00:23:30.389
Michael, Obrigado por sua presença.

00:23:30.389 --> 00:23:34.115
Se eles têm alguma dúvida
Se o público tenha alguma dúvida,

00:23:34.115 --> 00:23:37.360
qual é a melhor maneira de obter
a espera de você, fazer perguntas?

00:23:37.360 --> 00:23:40.872
>> A melhor maneira é se você estiver
externos, você pode tweet me e

00:23:40.872 --> 00:23:42.458
Eu poder vê-lo.

00:23:42.458 --> 00:23:43.626
>> OK.

00:23:43.626 --> 00:23:47.462
>> Caso contrário, deixe um comentário
abaixo desse vídeo aqui.

00:23:47.462 --> 00:23:49.510
>> Muito bem, no blog,
muito bem, deixe um comentário.

00:23:49.510 --> 00:23:51.766
>> Ou
conectar-me a meu blog mais ou menos.

00:23:51.766 --> 00:23:52.734
>> OK, perfeito.

00:23:52.734 --> 00:23:54.830
Tudo bem, cuz tenho certeza
poderá haver algumas perguntas

00:23:54.830 --> 00:23:57.298
especialmente em torno do final
Intervalo de tempo de início de outubro de setembro.

00:23:57.298 --> 00:24:00.628
Ou sobre o próximo apenas dizer, 30 dias
como as pessoas Iniciar migração sobre.

00:24:00.628 --> 00:24:04.122
Tudo bem, isso
ocorrência-lo para cima em sua conta do Twitter,

00:24:04.122 --> 00:24:06.773
alça suas Twitter, ou em seu blog.

00:24:06.773 --> 00:24:08.920
E tenho certeza de que Mike será
felizes em ajudá-lo.

00:24:08.920 --> 00:24:12.241
Todas as pessoas, Obrigado por assistir,
e veremos posteriormente.

00:24:12.241 --> 00:24:22.241
[MÚSICA]

