A maior parte da documentação sobre o Amazon EMR mostra como consumir dados do S3. Se meus dados estão em um stream do Kinesis eu preciso enviar os dados do stream para o S3, para daí consumir no EMR?
Não, você pode consumir os dados no EMR diretamente do Kinesis Data Streams, sem precisar passar pelo S3.
O S3 seria uma boa opção caso estivesse consumindo dados em lote, a partir de um Data Lake. Contudo, se você pretende fazer processamento em stream, e seus dados estão em um stream do Kinesis, você pode consumir diretamente dele. Para isso, você precisa consultar a documentação da plataforma de processamento em stream (Spark, Hadoop etc) que está usando em seu cluster EMR.