[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4183":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":17,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":15,"starSnapshotCount":15,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},4183,"pentaho-kettle","pentaho\u002Fpentaho-kettle","pentaho","Pentaho Data Integration ( ETL ) a.k.a Kettle",null,"Java",8346,3574,453,63,0,1,4,13,71.3,"Other",false,"master",true,[],"2026-06-12 04:00:21","# Pentaho Data Integration # \n\nPentaho Data Integration ( ETL ) a.k.a Kettle\n\n### Project Structure\n\n* **assemblies:** \nProject distribution archive is produced under this module\n* **core:** \nCore implementation\n* **dbdialog:** \nDatabase dialog\n* **ui:** \nUser interface\n* **engine:** \nPDI engine\n* **engine-ext:** \nPDI engine extensions\n* **[plugins:](plugins\u002FREADME.md)** \nPDI core plugins\n* **integration:** \nIntegration tests\n\nHow to build\n--------------\n\nPentaho Data Integration uses the Maven framework. \n\n\n#### Pre-requisites for building the project:\n* Maven, version 3+\n* Java JDK 11\n* This [settings.xml](https:\u002F\u002Fraw.githubusercontent.com\u002Fpentaho\u002Fmaven-parent-poms\u002Fmaster\u002Fmaven-support-files\u002Fsettings.xml) in your \u003Cuser-home>\u002F.m2 directory\n\n#### Building it\n\nThis is a Maven project, and to build it use the following command:\n\n```\n$ mvn clean install\n```\nOptionally you can specify -Drelease to trigger obfuscation and\u002For uglification (as needed)\n\nOptionally you can specify -Dmaven.test.skip=true to skip the tests (even though\nyou shouldn't as you know)\n\nThe build result will be a Pentaho package located in ```target```.\n\n#### Packaging \u002F Distributing it\n\nPackages can be built by using the following command:\n```\n$ mvn clean package\n```\n\nThe packaged results will be in the `target\u002F` sub-folders of `assemblies\u002F*`.\n\nFor example, a distribution of the Desktop Client (CE) can then be found in: `assemblies\u002Fclient\u002Ftarget\u002Fpdi-ce-*-SNAPSHOT.zip`.\n\n#### Running the tests\n\n__Unit tests__\n\nThis will run all unit tests in the project (and sub-modules). To run integration tests as well, see Integration Tests below.\n\n```\n$ mvn test\n```\n\nIf you want to remote debug a single Java unit test (default port is 5005):\n\n```\n$ cd core\n$ mvn test -Dtest=\u003C\u003CYourTest>> -Dmaven.surefire.debug\n```\n\n__Integration tests__\n\nIn addition to the unit tests, there are integration tests that test cross-module operation. This will run the integration tests.\n\n```\n$ mvn verify -DrunITs\n```\n\nTo run a single integration test:\n\n```\n$ mvn verify -DrunITs -Dit.test=\u003C\u003CYourIT>>\n```\n\nTo run a single integration test in debug mode (for remote debugging in an IDE) on the default port of 5005:\n\n```\n$ mvn verify -DrunITs -Dit.test=\u003C\u003CYourIT>> -Dmaven.failsafe.debug\n```\n\nTo skip test\n\n```\n$ mvn clean install -DskipTests\n```\n\nTo get log as text file\n\n```\n$ mvn clean install test >log.txt\n```\n\n\n__IntelliJ__\n\n* Don't use IntelliJ's built-in maven. Make it use the same one you use from the commandline.\n  * Project Preferences -> Build, Execution, Deployment -> Build Tools -> Maven ==> Maven home directory\n\n\n### Contributing\n\n1. Submit a pull request, referencing the relevant [Jira case](https:\u002F\u002Fjira.pentaho.com\u002Fsecure\u002FDashboard.jspa)\n2. Attach a Git patch file to the relevant [Jira case](https:\u002F\u002Fjira.pentaho.com\u002Fsecure\u002FDashboard.jspa)\n\nUse of the Pentaho checkstyle format (via `mvn checkstyle:check` and reviewing the report) and developing working \nUnit Tests helps to ensure that pull requests for bugs and improvements are processed quickly.\n\nWhen writing unit tests, you have at your disposal a couple of ClassRules that can be used to maintain a healthy\ntest environment. Use [RestorePDIEnvironment](core\u002Fsrc\u002Ftest\u002Fjava\u002Forg\u002Fpentaho\u002Fdi\u002Fjunit\u002Frules\u002FRestorePDIEnvironment.java)\nand [RestorePDIEngineEnvironment](engine\u002Fsrc\u002Ftest\u002Fjava\u002Forg\u002Fpentaho\u002Fdi\u002Fjunit\u002Frules\u002FRestorePDIEngineEnvironment.java)\nfor core and engine tests respectively.\n\npex.:\n```java\npublic class MyTest {\n  @ClassRule public static RestorePDIEnvironment env = new RestorePDIEnvironment();\n  #setUp()...\n  @Test public void testSomething() { \n    assertTrue( myMethod() ); \n  }\n}\n```  \n\n### Asking for help\nPlease go to https:\u002F\u002Fcommunity.hitachivantara.com\u002Fcommunity\u002Fproducts-and-solutions\u002Fpentaho\u002F to ask questions and get help.\n","Pentaho Data Integration（也称为Kettle）是一个用于数据抽取、转换和加载（ETL）的开源工具。它提供了强大的核心功能，如数据清洗、转换、加载以及数据库连接等，并支持通过插件扩展其功能。基于Java开发，使用Maven进行构建管理，使得项目具有良好的可维护性和扩展性。适用于需要对多源异构数据进行集成处理的企业级应用场景，如大数据分析、数据仓库建设及业务智能系统中数据预处理等环节。",2,"2026-06-11 02:58:55","top_language"]