Wie das Kettle-Tool mit JavaScript funktioniert

PHPz
Freigeben: 2023-04-23 17:47:15
Original
3373 Leute haben es durchsucht

Das Kettle-Tool ist ein Open-Source-ETL-Tool (Extrahieren, Transformieren, Laden), das Dateningenieuren beim Extrahieren, Transformieren und Laden von Daten helfen kann. Kettle bietet nicht nur eine visuelle Schnittstelle, sondern verwendet auch JavaScript-Skripte, um den ETL-Verarbeitungsprozess anzupassen. Daher wird in diesem Artikel erläutert, wie das Kettle-Tool mithilfe von JavaScript funktioniert.

1. Einführung in das Kettle-Tool

Kettle ist ein Java-basiertes ETL-Tool, das mehrere Datenquellen und Zieldaten unterstützt, einschließlich relationaler Datenbanken, Dateien, NoSQL-Datenbanken usw., und über die folgenden Funktionen verfügt:

  1. Visuelle Schnittstelle : Benutzer können Vorgänge wie das Hinzufügen von Datenquellen, das Definieren von Zieldaten sowie das Erstellen und Ausführen von E-T-L-Aufgaben über die Schnittstelle abschließen.
  2. Big Data unterstützen: Kettle verwendet einige speichereffiziente Technologien, um eine hervorragende Leistung bei der Verarbeitung großer Datenmengen oder hoher Parallelität zu erzielen.
  3. Überprüfung der Datenqualität: Kettle verfügt über Funktionen zur Überprüfung und Überwachung der Datenqualität und kann umfangreiche Datenüberprüfungen durchführen, um die Aktualität und Richtigkeit der Daten sicherzustellen.

2. So bedienen Sie das JavaScript-Skript des Kettle-Tools

Um das JavaScript-Skript im Kettle-Tool zu bedienen, müssen Sie die folgenden Schritte ausführen:

  1. Öffnen Sie das Kettle-Tool und erstellen Sie eine neue Transformation oder einen neuen Job.
  2. Klicken Sie mit der rechten Maustaste auf die Konvertierung oder den Auftrag und wählen Sie „Bearbeiten“, um in den Bearbeitungsstatus zu gelangen.
  3. Wählen Sie im Bearbeitungszustand den Schritt aus, in dem Sie ein JavaScript-Skript hinzufügen müssen, klicken Sie mit der rechten Maustaste und wählen Sie „Schritt bearbeiten“.
  4. Wählen Sie im sich öffnenden Fenster den Reiter „Business Intelligence“ und dann „JavaScript“ aus.
  5. Geben Sie einfach das JavaScript-Skript in dieses Fenster ein. Im Skript stellt der Kettle-Assistent Entwicklern einige allgemeine Variablen und Methoden zur Verfügung, die direkt aufgerufen oder zur Verwendung zugewiesen werden können, wodurch die Bedienschwierigkeiten für Entwickler vereinfacht werden.

3. Verwenden Sie JavaScript-Skripte, um Daten-ETL-Vorgänge abzuschließen. Das JavaScript-Skript von Kettle ist leistungsstark und kann zur Implementierung komplexer Daten-ETL-Verarbeitungsvorgänge verwendet werden. Im Folgenden stellen wir vor, wie Sie JavaScript-Skripte verwenden, um Daten-ETL-Vorgänge unter drei Aspekten abzuschließen: „Datenextraktion“, „Datenkonvertierung“ und „Datenladen“.

Datenextraktion
  1. Bei der Implementierung der Datenextraktion in Kettle können Sie zum Abschluss JavaScript-Skripte in Kombination mit dem Schritt „Tabelleneingabe“ verwenden. Die spezifischen Schritte sind wie folgt:

1) Erstellen Sie zunächst eine neue Transformation, fügen Sie den Schritt „Tabelleneingabe“ hinzu und verbinden Sie ihn mit einem anderen Schritt.

2) Wählen Sie im Bearbeitungsfenster den Schritt „Tabelleneingabe“ aus Geben Sie bei der Option „SQL-Anweisungsabfrage“ die erforderliche SQL-Anweisung in das Textfeld unten ein

3) Wählen Sie die Registerkarte „Business Intelligence“ und dann „JavaScript“, um im Skriptbearbeitungsfeld ein JavaScript-Skript zu schreiben 4) Verwenden Sie Variablen und Die Methode ist wie folgt:

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; }
Nach dem Login kopieren

Datenkonvertierung

    Bei der Implementierung der Datenkonvertierung in Kettle kann dies mithilfe von JavaScript-Skripten in Kombination mit „Java Script“- oder „JDBC“-Schritten erfolgen. Die spezifischen Schritte sind wie folgt:
  1. 1) Erstellen Sie eine neue Transformation und fügen Sie darin einen „Java Script“- oder „JDBC“-Schritt hinzu, um eine Verbindung zu anderen Schritten herzustellen

2) Öffnen Sie den „Java Script“- oder „JDBC“-Schritt und wählen Sie „Parameter“. Datenquelle und Zieldaten werden in den Registerkarten definiert.

3) Wählen Sie die Registerkarte „Business Intelligence“, dann „JavaScript“ und schreiben Sie ein JavaScript-Skript in das Skriptbearbeitungsfeld

4) Verwenden Sie Variablen und Methoden im Skript, um die Datenkonvertierung zu implementieren, wie unten gezeigt:

//获取连接 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();
Nach dem Login kopieren

Laden von Daten

    Beim Implementieren des Ladens von Daten in Kettle können Sie JavaScript-Skripte in Kombination mit den Schritten „Tabellenausgabe“ und „Einfügen/Aktualisieren“ verwenden. Die spezifischen Schritte sind wie folgt:
  1. 1) Erstellen Sie eine neue Transformation und fügen Sie die Schritte „Tabellenausgabe“ und „Einfügen/Aktualisieren“ hinzu, um eine Verbindung zu anderen Schritten herzustellen.

2) Öffnen Sie den Schritt „Tabellenausgabe“ und klicken Sie auf „Tabellenausgabe“ Datenquelleninformationen werden in der Registerkarte definiert.

3) Wählen Sie die Registerkarte „Business Intelligence“, dann „JavaScript“ und schreiben Sie ein JavaScript-Skript in das Skriptbearbeitungsfeld

4) Verwenden Sie Variablen und Methoden im Skript, um Daten zu laden, wie unten gezeigt:

//往输出中添加数据 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; }
Nach dem Login kopieren

Zusammenfassung

Das JavaScript-Skript des Kettle-Tools kann Entwicklern äußerst flexible und leistungsstarke ETL-Verarbeitungsfunktionen bieten und Entwicklern dabei helfen, Aufgaben wie Datenextraktion, -konvertierung und -laden schnell umzusetzen. Bei der eigentlichen Arbeit müssen Entwickler lediglich JavaScript-Skripte schreiben, die für bestimmte Anforderungen an die Verarbeitung von Geschäftsdaten geeignet sind, und können dann die entsprechenden Daten-ETL-Arbeiten effizient abschließen.

Das obige ist der detaillierte Inhalt vonWie das Kettle-Tool mit JavaScript funktioniert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!