Maison > interface Web > Questions et réponses frontales > Comment fonctionne l'outil Kettle à l'aide de JavaScript

Comment fonctionne l'outil Kettle à l'aide de JavaScript

PHPz
Libérer: 2023-04-23 17:47:15
original
3504 Les gens l'ont consulté

L'outil Kettle est un outil ETL (Extract, Transform, Load) open source qui peut aider les ingénieurs de données à extraire, transformer et charger des données. Kettle fournit non seulement une interface visuelle, mais utilise également des scripts JavaScript pour personnaliser le processus de traitement ETL. Par conséquent, cet article présentera le fonctionnement de l'outil Kettle à l'aide de JavaScript.

1. Introduction à l'outil Kettle

Kettle est un outil ETL basé sur Java qui prend en charge plusieurs sources de données et données cibles, y compris les bases de données relationnelles, les fichiers, les bases de données NoSQL, etc., et possède les fonctionnalités suivantes :

  1. Interface visuelle : Les utilisateurs peuvent effectuer des opérations telles que l'ajout de sources de données, la définition de données cibles et la construction et l'exécution de tâches E-T-L via l'interface.
  2. Prise en charge du Big Data : Kettle utilise certaines technologies économes en mémoire pour obtenir d'excellentes performances lors du traitement de grandes quantités de données ou d'une simultanéité élevée.
  3. Vérification de la qualité des données : Kettle dispose de fonctions de vérification et de supervision de la qualité des données et peut effectuer une vérification des données à grande échelle pour garantir l'actualité et l'exactitude des données.

2. Comment utiliser le script JavaScript de l'outil Kettle

Pour utiliser le script JavaScript dans l'outil Kettle, vous devez suivre les étapes suivantes :

  1. Ouvrez l'outil Kettle et créez une nouvelle transformation ou un nouveau travail.
  2. Cliquez avec le bouton droit sur la conversion ou la tâche et sélectionnez « Modifier » pour entrer dans l'état d'édition.
  3. Dans l'état d'édition, sélectionnez l'étape à laquelle vous devez ajouter un script JavaScript, cliquez avec le bouton droit et sélectionnez « Modifier l'étape ».
  4. Dans la fenêtre pop-up, sélectionnez l'onglet "Business Intelligence" puis sélectionnez "JavaScript".
  5. Entrez simplement le script JavaScript dans cette fenêtre. Dans le script, l'assistant Kettle fournira aux développeurs certaines variables et méthodes communes, qui peuvent être directement appelées ou assignées pour simplifier les opérations pour les développeurs.

3. Utilisez des scripts JavaScript pour effectuer des opérations ETL de données

Le script JavaScript de Kettle est puissant et peut être utilisé pour mettre en œuvre des opérations de traitement ETL de données complexes. Ci-dessous, nous présenterons comment utiliser des scripts JavaScript pour effectuer des opérations ETL de données sous trois aspects : « extraction de données », « conversion de données » et « chargement de données ».

  1. Extraction de données

Lors de la mise en œuvre de l'extraction de données dans Kettle, vous pouvez utiliser des scripts JavaScript combinés à l'étape « Saisie de table » pour terminer. Les étapes spécifiques sont les suivantes :

1) Tout d'abord, créez une nouvelle transformation, ajoutez l'étape "Saisie Table", et connectez-la à une autre étape

2) Dans la fenêtre d'édition de l'étape "Saisie Table", sélectionnez ; l'option « SQL Statement Query », saisissez l'instruction SQL requise dans la zone de texte ci-dessous

3) Sélectionnez l'onglet « Business Intelligence », puis sélectionnez « JavaScript » pour écrire un script JavaScript dans la zone d'édition du script ; 4) Utiliser des variables et La méthode est la suivante :

var row = getRow();
if(row) {
  //在这里输入需要抽取的字段名和数据类型
  var name = row.get("name");
  var age = row.getInteger("age");
  
  //在这里实现数据转换
  age = age * 2;
  
  //在这里输出结果
  var newRow = createRowCopy(row);
  newRow.setValue("new_age", age);
  putRow(newRow);  
} else {
  //表格输入到此结束,结束结果保存到日志中,并返回null终止此步骤。
  logBasic("表格输入完成");
  null;
}
Copier après la connexion

Conversion de données
  1. Lors de la mise en œuvre de la conversion de données dans Kettle, cela peut être effectué à l'aide de scripts JavaScript combinés avec des étapes "Java Script" ou "JDBC". Les étapes spécifiques sont les suivantes :

1) Créez une nouvelle transformation et ajoutez-y une étape "Java Script" ou "JDBC" pour vous connecter à d'autres étapes

2) Ouvrez l'étape "Java Script" ou "JDBC" ; et sélectionnez "Paramètres". Les données source et cible sont définies dans les onglets.

3) Sélectionnez l'onglet "Business Intelligence", puis sélectionnez "JavaScript" et écrivez un script JavaScript dans la zone d'édition du script ;

4) Utilisez les variables et les méthodes dans le script pour implémenter la conversion des données, comme indiqué ci-dessous :

//获取连接
var con = getJDBCConnectionByName("dbConnection");

//查询数据
var rs = con.prepareStatement("SELECT * FROM customer").executeQuery();

//添加查询结果到输出
while(rs.next()) {
  var id = rs.getLong("id");
  var name = rs.getString("name");
  
  //在这里实现数据转换
  var transformedName = name.toUpperCase();   
  
  //在这里输出结果
  var newRow = createRowCopy(row);
  newRow.setValue("id", id);
  newRow.setValue("name", transformedName);
  putRow(newRow);  
}

//关闭连接
rs.close();
con.close();
Copier après la connexion

Chargement des données
  1. Lors de l'implémentation du chargement des données dans Kettle, vous pouvez utiliser des scripts JavaScript en combinaison avec l'étape "Sortie de table" et l'étape "Insérer/Mettre à jour". Les étapes spécifiques sont les suivantes :

1) Créez une nouvelle transformation et ajoutez l'étape "Sortie de table" et l'étape "Insérer/Mettre à jour" pour vous connecter à d'autres étapes ;

2) Ouvrez l'étape "Sortie de table" et cliquez sur "Sortie du tableau" Les informations sur la source de données sont définies dans l'onglet.

3) Sélectionnez l'onglet "Business Intelligence", puis sélectionnez "JavaScript" et écrivez un script JavaScript dans la zone d'édition du script ;

4) Utilisez les variables et les méthodes dans le script pour charger les données, comme indiqué ci-dessous :

//往输出中添加数据
var newRow = getDataRow();
newRow.setValue("name", "马化腾");
newRow.setValue("sex", "男");
newRow.setValue("age", 48);
addRowToOutput(newRow);

//往目标表添加数据
var row = getRow();
if(row) {
  //抽取需要的变量,形式如该脚本实例
  
  //查询表中是否已存在此行数据
  var sql = "SELECT * FROM customer WHERE id='" + id + "'";
  var rs = dbConnection.executeQuery(sql);

  if(rs.next()) {
     //如果存在,就执行更新操作
     var updateSql = "UPDATE customer SET name=?,age=? WHERE id=?";
     var pstmt = dbConnection.getConnection().prepareStatement(updateSql);
     pstmt.setString(1, transformedName);
     pstmt.setInt(2, age);
     pstmt.setLong(3, id);
     pstmt.executeUpdate();
     pstmt.close();
  } else {
     //如果不存在,执行插入操作
     var insertSql = "INSERT INTO customer(id, name, age) VALUES (?, ?, ?)";
     var pstmt = dbConnection.getConnection().prepareStatement(insertSql);
     pstmt.setLong(1, id);
     pstmt.setString(2, transformedName);
     pstmt.setInt(3, age);
     pstmt.executeUpdate();
     pstmt.close();
  }
} else {
  //表格输入到此结束,结束结果保存到日志中。
  logBasic("表格输出完成");
  null;
}
Copier après la connexion

Résumé

Le script JavaScript de l'outil Kettle peut apporter aux développeurs des capacités de traitement ETL extrêmement flexibles et puissantes, et peut aider les développeurs à mettre en œuvre rapidement des tâches telles que l'extraction, la conversion et le chargement de données. Dans le travail réel, les développeurs n'ont besoin que d'écrire des scripts JavaScript qui leur conviennent pour les besoins spécifiques de traitement des données de l'entreprise, puis ils peuvent effectuer efficacement le travail ETL de données correspondant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal