Scriptella
Appearance
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Stable release | 1.1
/ 28 December 2012 |
---|---|
Operating system | Cross-platform |
Type | ETL, Data migration and SQL. |
License | Apache Software License |
Website | http://scriptella.org |
Scriptella is an open source ETL (Extract-Transform-Load) and script execution tool written in Java. Its primary focus is simplicity. It doesn't require the user to learn another complex XML-based language to use it, but allows the use of SQL or another scripting language suitable for the data source to perform required transformations. Scriptella does not offer any graphical user interface.
Typical use
- Database migration.
- Database creation/update scripts.
- Cross-database ETL operations, import/export.
- Alternative for Ant <sql> task.
- Automated database schema upgrade.
Features
- Simple XML syntax for scripts. Add dynamics to your existing SQL scripts by creating a thin wrapper XML file:
<!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd"> <etl> <connection driver="$driver" url="$url" user="$user" password="$password"/> <script> <include href="PATH_TO_YOUR_SCRIPT.sql"/> -- And/or directly insert SQL statements here </script> </etl>
- Support for multiple datasources (or multiple connections to a single database) in an ETL file.
- Support for many useful JDBC features, e.g. parameters in SQL including file blobs and JDBC escaping.
- Performance. Performance and low memory usage are one of the primary goals.
- Support for evaluated expressions and properties (JEXL syntax)
- Support for cross-database ETL scripts by using <dialect> elements
- Transactional execution
- Error handling via <onerror> elements
- Conditional scripts/queries execution (similar to Ant if/unless attributes but more powerful)
- Easy-to-Use as a standalone tool or Ant task. No deployment/installation required.
- Easy-To-Run ETL files directly from Java code.
- Built-in adapters for popular databases for a tight integration. Support for any database with JDBC/ODBC compliant driver.
- Service Provider Interface (SPI) for interoperability with non-JDBC DataSources and integration with scripting languages. Out of the box support for JSR 223 (Scripting for the Java Platform) compatible languages.
- Built-In CSV, TEXT, XML, LDAP, Lucene, Velocity, JEXL and Janino providers. Integration with Java EE, Spring Framework, JMX and JNDI for enterprise ready scripts.
External links
- Scriptella ETL Site
- GitHub Page
- Discussion forum
- Discussion forum(deprecated)
- Scriptella ETL Author's Blog
- Scriptella ETL at Open Hub