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:
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:
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“.
Datenextraktion1) 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; }
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();
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; }
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!