Fluxos de trabalho complexos de processamento de dados: Você pode juntar um stream do Kinesis a dados armazenados no S3, tabelas do Dynamo DB e HDFS. Você pode escrever consultas que unem dados de clickstream do Kinesis com informações de uma campanha de anúncios armazenadas em uma tabela do DynamoDB para identificar as categorias mais efetivas de anúncios exibidos em determinados websites.
Consultas diretas: Você pode carregar periodicamente dados do Kinesis no HDFS e torná-lo disponível como uma tabela local do Impala para realizar consultas velozes, interativas e analíticas.
Não, ele é um componente integrado da distribuição Hadoop da Amazon e está presente na AMI do EMR nas versões 3.0.4 e superiores. O cliente precisa apenas ativar um cluster com a AMI versão 3.0.4 ou superior para começar a usar este recurso.
A integração do EMR com o Kinesis não exige um tipo de dados específico. Você pode ler dados em qualquer formato. Registros individuais do Kinesis são apresentados ao Hadoop como registros comuns que podem ser lidos com qualquer estrutura de MapReduce do Hadoop. Estruturas individuais como o Hive, Pig e o Cascading têm componentes integrados que ajudam na serialização e desserialização, tornando fácil para os desenvolvedores consultarem dados em diversos formatos ser terem de implementar código próprio. Por exemplo, no Hive, os usuários podem ler dados de arquivos JSON, arquivos XML e arquivos SEQ especificando o Hive SerDe apropriado ao definirem a tabela. O Pig tem um componente similar chamado Loadfunc/Evalfunc, e o Cascading tem um componente similar chamado Tap. Os usuários do Hadoop podem aproveitar o amplo ecossistema de adaptadores do Hadoop sem terem de escrever código para formatos específicos. Você também pode implementar formatos customizados de desserialização para ler dados específicos de domínio em qualquer uma destas ferramentas.
Crie uma tabela que faz referência a um stream do Kinesis. Então, analise a tabela como com qualquer outra tabela no Hive. Veja a nossa página de tutoriais para obter mais detalhes.
P: Usando o Hive, como eu crio consultas que combinam dados de um stream do Kinesis com outra fonte de dados?
Primeiro, crie uma tabela que referencia um stream do Kinesis. Criada a tabela do Hive, você pode associá-la (join) com tabelas que apontam para outras fontes de dados como o Amazon S3, Amazon Dynamo DB e o HDFS. Efetivamente isto resulta na união de dados de um stream do Kinesis com outras fontes de dados.
O conector de entrada do EMR do Kinesis oferece recursos que ajudam a configurar e gerenciar tarefas agendadas periódicas em mecanismos tradicionais de agendamento como o Cron. Por exemplo, você pode desenvolver um script do Hive que executa a cada N minutos. Nos parâmetros de configuração de uma tarefa, você pode especificar um nome lógico para a tarefa. O nome lógico é um rótulo que informará o conector de entrada do EMR do Kinesis quais instâncias individuais da tarefa são membros do mesmo agendamento periódico. O nome lógico permite que o processo aproveite a iteratividade, o que é explicado a seguir.