Lorsque vous configurez les objets à migrer dans une tâche de migration de données, vous pouvez spécifier des conditions pour filtrer les données. Seules les données répondant aux conditions spécifiées sont migrées vers la base de données de destination. Cette fonctionnalité s'applique à des scénarios tels que la migration régulière des données et le partitionnement des tables.
Limites
Le filtrage s'applique uniquement aux colonnes de la table actuelle. Le filtrage inter-tables n'est pas pris en charge. Pour filtrer plusieurs tables, spécifiez une condition distincte pour chacune d'elles.
Procédure
Pour les étapes dans la nouvelle console, consultez Définir les conditions de filtrage.
À l'étape Migration Types and Objects de la configuration de la tâche de migration de données, après avoir déplacé les objets que vous souhaitez migrer vers la zone Selected, survolez la table que vous souhaitez modifier et cliquez sur le bouton Edit qui apparaît. Dans la zone Selected Objects de la page de configuration Migration Types and Objects, survolez une table cible (par exemple, la table des commandes) et cliquez sur le bouton Edit qui apparaît à droite.
-
Dans la boîte de dialogue qui s'affiche, saisissez une condition de filtrage dans le champ Filter Conditions.
-
Pour les bases de données relationnelles, telles que MySQL et SQL Server :
RemarqueLa condition de filtrage doit être une instruction SQL WHERE standard. Seuls les opérateurs
=,!=,<et>sont pris en charge. La tâche migre uniquement les données répondant à cette condition vers la base de données de destination. Pour cet exemple, saisissezorderid>100.Vous pouvez également effectuer un filtrage par date, mais le format de date dans l'instruction SQL WHERE doit être précis. Par exemple, pour filtrer les données incrémentielles créées après 2020, saisissez
create_time>'2020-01-01'oucreate_time>'2020-01-01 00:00:00', et noncreate_time>'2020'.Si vous devez utiliser des guillemets dans une condition de filtrage, utilisez des apostrophes ('). Par exemple :
address in('hangzhou','shanghai').Les noms de colonnes dans une condition de filtrage ne sont pas sensibles à la casse. Cela peut poser problème si une table de votre base de données source contient des colonnes dont les noms diffèrent uniquement par la casse (par exemple, A et a). Dans ce cas, l'instruction SQL WHERE peut ne s'appliquer qu'à l'une d'entre elles. Par exemple,
WHERE A=10peut être pris en charge tandis queWHERE a=10ne l'est pas.
-
Pour les bases de données non relationnelles, telles que MongoDB : dans la boîte de dialogue Edit Collection, définissez Collection Name sur
customeret saisissez une condition de requête JSON dans la zone de texte Filter Condition. Vous pouvez cliquer sur le bouton Verify Syntax pour valider la syntaxe de la condition.RemarqueVous pouvez utiliser des conditions de requête au format JSON. La tâche migre uniquement les données répondant à la condition spécifiée vers la base de données de destination. Par exemple, la saisie de
{"id":{$gt:"52b64e55dc4449b7ba3d1183a0ea171b"}}migre uniquement les données dont l'ID est supérieur à la valeur spécifiée.
-
-
Cliquez sur Verify Syntax pour valider la condition.
RemarqueSi la syntaxe est valide, une boîte de dialogue Tips s'affiche avec le message Validation passed.
Si la syntaxe est invalide, une boîte de dialogue Error s'affiche. Vous devez modifier la condition de filtrage en fonction des informations fournies dans la boîte de dialogue.
Cliquez sur OK.
Suivez les instructions à l'écran pour terminer la configuration de la tâche de migration de données.