Importação de dados com Sqoop
Pronto para mergulhar em importar dados com Sqoop? Comece por tomar um olhar para a figura, que ilustra as etapas de uma operação típica Sqoop de importação a partir de um RDBMS ou um sistema de armazenamento de dados. Nada muito complicado aqui - apenas uma tabela de dados de produtos típicos de um (típico) empresa fictícia a ser importadas para um cluster típico Apache Hadoop a partir de um sistema de gestão de dados típico (DMS).
Durante a Etapa 1, Sqoop utiliza o conector apropriado para recuperar os metadados da tabela Produtos das DMS-alvo. (Os metadados é usado para mapear os tipos de dados da tabela Produtos para tipos de dados na linguagem Java.)
Passo 2, em seguida, usa esses metadados para gerar e compilar uma classe Java que será utilizado por uma ou mais tarefas mapa para importar as linhas reais da tabela Produtos. Sqoop salva a classe Java gerada para espaço temporário ou um diretório que você especificar para que você possa aproveitá-lo para o processamento posterior de seus registros de dados.
O código Java gerado Sqoop que é guardado para você é como o dom que continua a dar! Com este código, Sqoop importa registros da DMS e armazena-os para HDFS usando um de três formatos que você pode escolher: dados Avro binários, arquivos de sequência binária, ou arquivos de texto delimitados. Posteriormente, este código está disponível para você para o processamento de dados subsequente.
arquivos de seqüência são uma escolha natural, se você está importando tipos de dados binários e você vai precisar da classe Java gerado para serializar e anular os seus dados mais tarde - talvez para processamento MapReduce ou exportação. dados Avro - com base na estrutura de serialização próprio Apache - é útil se você precisa interagir com outras aplicações após a importação para HDFS.
Se você optar por armazenar os dados importados em formato de texto delimitado, você pode encontrar o código Java gerado valiosa mais tarde, como você analisar e realizar conversões de formato de dados em seus novos dados. Você verá que o código gerado também ajuda você mesclar conjuntos de dados após as operações de importação Sqoop, eo código Java gerado pode ajudar a evitar ambigüidade ao processar dados de texto delimitados.
Finalmente, durante o Passo 3, Sqoop divide os registros de dados na tabela de produtos através de uma série de tarefas de mapa (com o número de mapeadores opcionalmente especificadas pelo usuário) e importa os dados da tabela em HDFS, colmeia, ou HBase.