2010-06-25 34 views
1

J'ai beaucoup de données dans un domaine Amazon Simple DB. Je veux démarrer Hive sur Elastic Map Reduce (en plus de hadoop) et d'une manière ou d'une autre, soit importer des données depuis simpledb ou, se connecter à simpledb et lancer des requêtes hiveql dessus. J'ai des problèmes pour importer les données. Des pointeurs?Comment puis-je utiliser Hive avec Amazon Elastic Mapreduce pour traiter des données dans Amazon Simple DB?

+2

Quels sont/étaient vos problèmes? – coffeepac

+0

@Ankit: J'ai un cas d'utilisation similaire, mais légèrement changer est que j'utilise l'importation des données dans HDFS (dans le répertoire/user/hive/warehouse de HDFS) à partir de MS SQL Server en utilisant SQOOP. Mais je commence à apprendre à partir de Amazon Services. S'il vous plaît me suggérer une solution pour mon cas d'utilisation. –

Répondre

2

En entrée d'un travail hadoop en continu, vous pourriez avoir une séquence d'instructions select pour simpleDB.

par exemple, votre entrée pourrait contenir (sous une forme moins détaillée):

collectionA between dates 123 and 234 
collectionA between dates 235 and 559 
collectionA between dates 560 and 3000 
... 

Ensuite, vous mettre en place un script mappeur qui a effectué la transformation suivante: input_select_statement => execute_select_statement => output_results

Ce serait très facile d'utiliser le streaming, car vous pouvez utiliser n'importe quelle bibliothèque pour n'importe quelle langue et ne pas avoir à vous soucier de l'implémentation de la version compliquée de Hadoop java.

Espérons que cela aide.

(la manière hacky de le faire serait d'avoir un seul script que vous exécutez localement qui fait la même chose que ci-dessus, mais charge les résultats dans s3 .J'exécute un script comme ça tous les soirs pour beaucoup de nos données de base de données