Cette rubrique explique comment utiliser la fonctionnalité Data Integration de DataWorks pour migrer des champs JSON de MongoDB vers MaxCompute.
Prérequis
Ajoutez une source de données MaxCompute. Pour plus d'informations, consultez la section Lier des ressources de calcul MaxCompute.
Créez un flux de travail dans DataWorks. Cette rubrique utilise un flux de travail en mode basique. Pour plus d'informations, consultez la section Créer un flux de travail.
Préparer les données de test dans MongoDB
-
Préparez un compte utilisateur.
Créez un utilisateur dans la base de données. Vous pouvez utiliser cet utilisateur pour ajouter une source de données dans DataWorks. Dans cet exemple, exécutez la commande suivante.
db.createUser({user:"bookuser",pwd:"123456",roles:["user1"]})Cette commande crée un utilisateur nommé bookuser avec le mot de passe 123456. Le rôle peut être n'importe quel rôle disposant des autorisations nécessaires pour accéder aux données.
-
Préparez les données.
Chargez les données dans la base de données MongoDB. Cet exemple utilise ApsaraDB for MongoDB. Le type de réseau est VPC. Un point de terminaison public est requis pour que le VPC communique avec le groupe de ressources public de DataWorks. Le code suivant fournit les données de test.
{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 19.95 } }, "expensive": 10 } -
Cet exemple utilise la base de données admin et la collection userlog dans la console DMS pour MongoDB. Pour afficher les données chargées, exécutez la commande suivante.
db.userlog.find().limit(10)
Utiliser DataWorks pour migrer les données
Connectez-vous à la console DataWorks.
-
Créez une table de destination dans DataWorks pour les données MongoDB migrées.
Faites un clic droit sur un Workflow créé, puis sélectionnez Create Table > Table
Dans la page Create Table, sélectionnez le type de moteur et saisissez le Name.
Sur la page d'édition de la table, cliquez sur DDL Statement.
-
Dans la boîte de dialogue DDL Statement, saisissez l'instruction DDL et cliquez sur Generate Table Schema.
ImportantLe nom de la table dans l'instruction DDL doit correspondre au Table Name que vous avez saisi sur la page Create Table.
create table mqdata (mqdata string); Cliquez sur Commit to Production Environment.
Ajoutez une source de données MongoDB. Pour plus d'informations, consultez la section Configurer une source de données MongoDB.
-
Créez un nœud de synchronisation hors ligne.
Accédez à la page d'analyse des données. Faites un clic droit sur le flux de travail spécifié et choisissez .
Dans la boîte de dialogue Create Node, saisissez le Name et cliquez sur Confirm.
Dans la barre de navigation supérieure, choisissez l'icône
.En mode script, cliquez sur l'icône
.Dans la boîte de dialogue import Template, configurez le SOURCE type, la data source, le target type et la data source, puis cliquez sur confirm.
-
Saisissez le script suivant.
{ "type": "job", "steps": [ { "stepType": "mongodb", "parameter": { "datasource": "mongodb_userlog", "column": [ { "name": "store.bicycle.color", "type": "document.String" } ], "collectionName": "userlog" }, "name": "Reader", "category": "reader" }, { "stepType": "odps", "parameter": { "partition": "", "isCompress": false, "truncate": true, "datasource": "odps_source", "column": [ "mqdata" ], "emptyAsNull": false, "table": "mqdata" }, "name": "Writer", "category": "writer" } ], "version": "2.0", "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "" }, "speed": { "concurrent": 2, "throttle": false, } } } Cliquez sur l'icône
pour exécuter le code.Consultez les résultats dans operation Log.
Vérifier le résultat
Faites un clic droit sur le flux de travail et choisissez .
Dans la boîte de dialogue create a node, saisissez le node name et cliquez sur submit.
-
Sur la page d'édition du nœud ODPS SQL, saisissez l'instruction suivante.
SELECT * from mqdata; Cliquez sur l'icône
pour exécuter le code.Consultez les résultats dans Runtime Log.