Vídeo: Sqoop Import and Export data from RDMBS and HDFS 2024
Pronto para mergulhar na importação de dados com o Sqoop? Comece por dar uma olhada na figura, que ilustra os passos em uma operação de importação típica Sqoop a partir de um RDBMS ou um sistema de data warehouse. Nada muito complicado aqui - apenas uma tabela de dados de produtos típicos de uma empresa de ficção (típica) que está sendo importada para um cluster Apache Hadoop típico de um sistema de gerenciamento de dados típico (DMS).
Durante a Etapa 1, o Sqoop usa o conector apropriado para recuperar os metadados da tabela de produtos do DMS alvo. (Os metadados são usados para mapear os tipos de dados da tabela Produtos para tipos de dados na linguagem Java.)
Etapa 2 usa esses metadados para gerar e compilar uma classe Java que será usada por uma ou mais tarefas de mapa para importe as linhas reais da tabela Produtos. O Sqoop guarda a classe Java gerada no espaço temporário ou em um diretório que você especifica para que você possa alavancá-lo para o processamento subseqüente de seus registros de dados.
O código Java gerado pelo Sqoop que é salvo para você é como o presente que continua dando! Com este código, o Sqoop importa registos do DMS e armazena-os para HDFS usando um dos três formatos que você pode escolher: dados Avro binários, arquivos de seqüência binária ou arquivos de texto delimitados. Posteriormente, esse código está disponível para o processamento de dados subseqüente.
Os arquivos de seqüência são uma escolha natural se você estiver importando tipos de dados binários e você precisará da classe Java gerada para serializar e desserizar seus dados mais tarde - talvez para o processamento ou exportação do MapReduce. Os dados do Avro - baseados no próprio framework de serialização do Apache - são úteis se você precisa interagir com outros aplicativos após a importação para o HDFS.
Se você optar por armazenar seus dados importados em formato de texto delimitado, você poderá encontrar o código Java gerado valioso mais tarde, conforme você analisa e executa conversões de formatos de dados em seus novos dados. Você verá que o código gerado também ajuda você a mesclar conjuntos de dados após as operações de importação do Sqoop e o código Java gerado pode ajudar a evitar a ambiguidade ao processar dados de texto delimitados.
Finalmente, durante a Etapa 3, o Sqoop divide os registros de dados na tabela Produtos em várias tarefas de mapa (com o número de mapeadores opcionalmente especificados pelo usuário) e importa os dados da tabela em HDFS, Hive ou HBase.