Criar um cluster HDInsight com Azure Data Lake Storage Gen1 usando o modelo do Azure Resource Manager

Saiba como usar o Azure PowerShell para configurar um cluster HDInsight com Azure Data Lake Storage Gen1, como armazenamento adicional.

Para tipos de cluster com suporte, o Data Lake Storage Gen1 pode ser usado como um armazenamento padrão ou uma conta de armazenamento adicional. Quando o Data Lake Storage Gen1 é usado como armazenamento adicional, a conta de armazenamento padrão para os clusters ainda será WASB (Azure Storage Blob), e os arquivos relacionados ao cluster (como logs etc.) ainda serão gravados no armazenamento padrão, enquanto os dados que você quer processar podem ser armazenados em uma conta do Data Lake Storage Gen1. Usar o Data Lake Storage Gen1 como uma conta de armazenamento adicional não afeta o desempenho nem a capacidade de leitura/gravação no armazenamento do cluster.

Usar o Data Lake Storage Gen1 para armazenamento de cluster HDInsight

Aqui estão algumas considerações importantes para usar HDInsight com Data Lake Storage Gen1:

  • A opção para criar clusters HDInsight com acesso ao Data Lake Storage Gen1 como armazenamento padrão está disponível para as versões 3.5 e 3.6 do HDInsight.

  • A opção para criar clusters HDInsight com acesso ao Data Lake Storage Gen1 como armazenamento adicional está disponível para as versões 3.2, 3.4, 3.5 e 3.6 do HDInsight.

Neste artigo, provisionamos um cluster Hadoop com o Data Lake Storage Gen1 como armazenamento adicional. Para obter instruções sobre como criar um cluster Hadoop com o Data Lake Storage Gen1 como armazenamento padrão, consulte Criar um cluster do HDInsight com Data Lake Storage Gen1 usando o portal do Azure.

Pré-requisitos

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Antes de começar este tutorial, você deve ter o seguinte:

  • Uma assinatura do Azure. Consulte Obter a avaliação gratuita do Azure.

  • Azure PowerShell 1.0 ou superior. Consulte Como instalar e configurar o PowerShell do Azure.

  • Microsoft Entra entidade de serviço. As etapas neste tutorial fornecem instruções sobre como criar uma entidade de serviço no Microsoft Entra ID. No entanto, você deve ser um administrador Microsoft Entra para poder criar uma entidade de serviço. Se você for um administrador Microsoft Entra, poderá ignorar esse pré-requisito e prosseguir com o tutorial.

    Se você não for um administrador Microsoft Entra, não poderá executar as etapas necessárias para criar uma entidade de serviço. Nesse caso, o administrador do Microsoft Entra deve primeiro criar uma entidade de serviço antes de criar um cluster HDInsight com Data Lake Storage Gen1. Além disso, a entidade de serviço deve ser criada usando um certificado, conforme descrito em Criar uma entidade de serviço com certificado.

Criar um cluster HDInsight com Data Lake Storage Gen1

O modelo do Resource Manager e os pré-requisitos para usar o modelo estão disponíveis no GitHub em Implantar um cluster HDInsight Linux com o novo Data Lake Storage Gen1. Siga as instruções fornecidas neste link para criar um cluster HDInsight com Data Lake Storage Gen1 como o armazenamento adicional.

As instruções no link mencionado acima exigem o PowerShell. Antes de iniciar as instruções, verifique se você está conectado com sua conta do Azure. Na área de trabalho, abra uma nova janela do Azure PowerShell e insira o snippet a seguir. Quando solicitado a fazer logon, certifique-se de fazer logon como um proprietário/administrador da assinatura:

# Log in to your Azure account
Connect-AzAccount

# List all the subscriptions associated to your account
Get-AzSubscription

# Select a subscription
Set-AzContext -SubscriptionId <subscription ID>

O modelo implanta estes tipos de recursos:

Carregar dados de exemplo para o Data Lake Storage Gen1

O modelo do Resource Manager cria uma nova conta de armazenamento com Data Lake Storage Gen1 e a associa ao cluster do HDInsight. Agora você deve carregar alguns dados de exemplo para o Data Lake Storage Gen1. Você precisará desses dados posteriormente no tutorial para executar trabalhos de um cluster do HDInsight que acessam dados na conta de armazenamento com o Data Lake Storage Gen1. Para obter instruções sobre como carregar dados, consulte Carregar um arquivo no Data Lake Store Gen1. Se estiver procurando alguns dados de exemplo para carregar, é possível obter a pasta Dados da Ambulância no Repositório Git do Azure Data Lake.

Definir ACLs relevantes nos dados de exemplo

Para garantir que os dados de exemplo carregados estejam acessíveis no cluster HDInsight, você deve garantir que o aplicativo Microsoft Entra usado para estabelecer a identidade entre o cluster HDInsight e Data Lake Storage Gen1 tenha acesso ao arquivo/pasta que você está tentando acessar. Para fazer isso, execute as seguintes etapas.

  1. Localize o nome do aplicativo Microsoft Entra associado ao cluster HDInsight e à conta de armazenamento com Data Lake Storage Gen1. Uma maneira de procurar o nome é abrir a folha do cluster HDInsight que você criou usando o modelo Resource Manager, clicar na guia Identidade Microsoft Entra cluster e procurar o valor do Nome de Exibição da Entidade de Serviço.
  2. Agora, forneça acesso a esse aplicativo Microsoft Entra no arquivo/pasta que você deseja acessar do cluster HDInsight. Para definir as ACLs corretas no arquivo/pasta no Data Lake Storage Gen1, consulte Proteger dados no Data Lake Storage Gen1.

Executar trabalhos de teste no cluster HDInsight para usar Data Lake Storage Gen1

Após configurar um cluster HDInsight, você poderá executar trabalhos de teste no cluster para testar se o cluster HDInsight pode acessar o Data Lake Storage Gen1. Para fazer isso, executaremos um exemplo de trabalho do Hive que cria uma tabela usando os dados de exemplo que você carregou anteriormente para a conta de armazenamento com o Data Lake Storage Gen1.

Nesta seção, você acessa um cluster Linux HDInsight por SSH e executa uma consulta Hive de exemplo. Se está usando um cliente Windows, recomendamos usar PuTTY, que pode ser baixado de https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Para obter mais informações sobre o uso de PuTTY, confira Usar SSH com Hadoop baseado em Linux no HDInsight do Windows.

  1. Uma vez conectado, inicie a CLI do Hive usando o seguinte comando:

    hive
    
  2. Usando a CLI, insira as instruções a seguir para criar uma nova tabela nomeada veículos, usando os dados de exemplo no Data Lake Storage Gen1:

    DROP TABLE vehicles;
    CREATE EXTERNAL TABLE vehicles (str string) LOCATION 'adl://<mydatalakestoragegen1>.azuredatalakestore.net:443/';
    SELECT * FROM vehicles LIMIT 10;
    

    Será exibida uma saída semelhante à seguinte:

    1,1,2014-09-14 00:00:03,46.81006,-92.08174,51,S,1
    1,2,2014-09-14 00:00:06,46.81006,-92.08174,13,NE,1
    1,3,2014-09-14 00:00:09,46.81006,-92.08174,48,NE,1
    1,4,2014-09-14 00:00:12,46.81006,-92.08174,30,W,1
    1,5,2014-09-14 00:00:15,46.81006,-92.08174,47,S,1
    1,6,2014-09-14 00:00:18,46.81006,-92.08174,9,S,1
    1,7,2014-09-14 00:00:21,46.81006,-92.08174,53,N,1
    1,8,2014-09-14 00:00:24,46.81006,-92.08174,63,SW,1
    1,9,2014-09-14 00:00:27,46.81006,-92.08174,4,NE,1
    1,10,2014-09-14 00:00:30,46.81006,-92.08174,31,N,1
    

Acessar o Data Lake Storage Gen1 usando os comandos do HDFS

Após configurar o cluster HDInsight para usar o Data Lake Storage Gen1, você poderá usar os comandos do shell do HDFS para acessar o armazenamento.

Nesta seção, você acessa um cluster Linux HDInsight por SSH e executa comandos do HDFS. Se está usando um cliente Windows, recomendamos usar PuTTY, que pode ser baixado de https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Para obter mais informações sobre o uso de PuTTY, confira Usar SSH com Hadoop baseado em Linux no HDInsight do Windows.

Uma vez conectado, use o comando do sistema de arquivos HDFS a seguir para listar os arquivos na conta de armazenamento com o Data Lake Storage Gen1.

hdfs dfs -ls adl://<storage account with Data Lake Storage Gen1 name>.azuredatalakestore.net:443/

Isso deve listar o arquivo que você carregou anteriormente para o Data Lake Storage Gen1.

15/09/17 21:41:15 INFO web.CaboWebHdfsFileSystem: Replacing original urlConnectionFactory with org.apache.hadoop.hdfs.web.URLConnectionFactory@21a728d6
Found 1 items
-rwxrwxrwx   0 NotSupportYet NotSupportYet     671388 2015-09-16 22:16 adl://mydatalakestoragegen1.azuredatalakestore.net:443/mynewfolder

Também é possível usar o comando hdfs dfs -put para carregar alguns arquivos no Data Lake Storage Gen1 e, em seguida, usar hdfs dfs -ls para verificar se os arquivos foram carregados com êxito.

Próximas etapas