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

Apr 23, 2023 pm 04:40 PM

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Mar 19, 2025 pm 03:58 PM

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Comment fonctionne l'algorithme de réconciliation React? Comment fonctionne l'algorithme de réconciliation React? Mar 18, 2025 pm 01:58 PM

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Mar 18, 2025 pm 01:44 PM

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

Comment fonctionne le currying en JavaScript et quels sont ses avantages? Comment fonctionne le currying en JavaScript et quels sont ses avantages? Mar 18, 2025 pm 01:45 PM

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Mar 19, 2025 pm 03:59 PM

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Mar 19, 2025 pm 04:10 PM

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Mar 21, 2025 pm 06:23 PM

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Mar 19, 2025 pm 04:16 PM

L'article traite des avantages et des inconvénients des composants contrôlés et incontrôlés dans la réaction, en se concentrant sur des aspects tels que la prévisibilité, la performance et les cas d'utilisation. Il conseille les facteurs à considérer lors du choix entre eux.

See all articles