Benerator, the smart way to generate data
rapiddweller 'Benerator' is a software solution to generate, obfuscate (anonymize / pseudonymize) and migrate data for development, testing and training purposes.
rapiddweller 'Benerator' allows creating realistic and valid high-volume test data, used for testing (unit/integration/load) and showcase setup.
Metadata constraints are imported from systems and/or configuration files. Data can be imported from and exported to files and systems, obfuscated, or generated from scratch. Domain packages provide reusable generators for creating domain-specific data as names and addresses internationalizable in language and region. It is strongly customizable with plugins and configuration options.
rapiddweller 'Benerator' is built for Java 11.
If you need support for Java 8 or earlier, please consider using the versions <= 1.0.1
.
- Java 11 JDK (we recommend adoptopenjdk)
- Maven
Check your local setup
java -version
mvn -version
-
Choose how to install:
a) Download a Prebuilt Distribution from Project Overview > Releases (current release is
2.0.0
, cp. rapiddweller-benerator-ce-2.0.0-jdk-11-dist.zip) and unzip the downloaded file in an appropriate directory, e.g./Developer/Applications
orC:\Program Files\Development
.b) Checkout repository and build your own rapiddweller-benerator-ce using
maven commandmvn clean install
-
Set BENERATOR_HOME
Create an environment variable BENERATOR_HOME that points to the path you extracted Benerator to.-
Windows Details: Open the System Control Panel, choose Advanced Settings - Environment Variables. Choose New in the User Variables section. Enter BENERATOR_HOME as name and the path as value (e.g.
C:\Program Files\Development\rapiddweller-benerator-ce-2.0.0-jdk-11
). Click OK several times. -
Mac/Unix/Linux Details: Add an entry that points to Benerator, e.g.:
export BENERATOR_HOME=/Developer/Applications/rapiddweller-benerator-ce-2.0.0-jdk-11
-
-
On Unix/Linux/Mac systems: Set permissions
Open a shell on the installation's root directory and executechmod a+x bin/*.sh
-
Mac OS X configuration Set JAVA_HOME On Mac OS X you need to provide benerator with an explicit configuration of the JAVA_HOME path. See http://developer.apple.com/qa/qa2001/qa1170.html for a good introduction to the OS X way of setting up Java. It is based on aliases conventions. If you are not familiar with that, you should read the article. If Java 8 (or newer) is the default version you will use, you can simply define JAVA_HOME by adding the following line to your .profile: in your user directory:
export JAVA_HOME=/Library/Java/Home
If it does not work or if you need to use different Java versions, it is easier to 'hard-code' JAVA_HOME like this:export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/
Note: We currently recommend following projects for your proper Mac OS X setup:
If you followed above installation steps carefully, run your benerator scripts from command line.
- Start benerator from command line
benerator <YOUR_BENERATOR_SCRIPT>.xml
To get started please find some demo scripts in the folder /src/demo/resources/demo of this repository.
There are various sources to get you started or extend your benerator knowledge:
-
Read our docs on our Benerator Manual site or create your own mkdocs with python
mkdocs build
. Keep in mind that you might need to install certain mkdocs dependencies first. -
Consider the Maven Site Docs or create your own docs using maven
mvn site:site
. The generated docs include Javadoc, Test Reports and more. -
Download the Benerator Manual from our website.
-
Checkout the maintainer's website www.benerator.de for additional support resources.
If there are still open questions and things are unclear because they are missing or insufficiently explained in our Benerator manual, please open an issue on GitHub, so we can expand our manual to make things clearer for you.
Navigate to the sources for our generated mkdocs:
- Goals and Features
- Installation
- The Benerator Project Wizard
- Quick tour through the descriptor file format
- Data Generation Concepts
- Data Anonymization Concepts
- Regular Expression Support
- Data File Processing
- XML File Processing
- Distribution Concepts
- Using Relational Databases
- Message Queue Access (Enterprise Edition)
- Kafka Access (Enterprise Edition)
- Advanced Topics
- Generating Unique Data
- Scripting
- rapiddwellerScript
- Command Line Tools
- Domains
- Component Reference
- Using DB Sanity
- Maven Benerator Plugin
- Extending Benerator
- Using Benerator as Load Generator
- Troubleshooting
- Monitoring Benerator
- Benerator Performance Tuning
- Migrating Benerator Projects
If you want to start development or use the maven project to build rapiddweller 'Benerator' by yourself, on Linux or Mac OS X you can also try the
quickstart by using the helper scripts.
IMPORTANT: If you want to use the command benerator
in your shell session, you have to execute source script/2_setup_benerator.sh
If you want to install Benerator permanently into your system, you have to modify your environment file or your ~/.profile
and add ENV variable BENERATOR_HOME
and PATH=$BENERATOR_HOME/bin:$PATH
to execute the scripts you can do ...
bash script/1_install_mvn_dependencies.sh
source script/2_setup_benerator.sh
bash script/3_execute_demos.sh
... alternatively, you can also set execute permissions like ...
chmod +x script/1_install_mvn_dependencies.sh
chmod +x script/2_setup_benerator.sh
chmod +x script/3_execute_demos.sh
... and execute scripts like this
.script/1_install_mvn_dependencies.sh
.script/2_setup_benerator.sh
.script/3_execute_demos.sh
-
1_install_mvn_dependencies.sh : This script is checking Prerequisites for you, cloning all rapiddweller-benerator-ce SubProjects and install via Maven locally.
-
2_setup_benerator.sh : This script is building on script no. 1 and using installed dependencies and packed jar, assemble it to a rapiddweller-benerator-ce.tar.gz and setup Benerator locally into your user home directory.
-
3_execute_demos.sh : This script is building on script no. 2 and use the unpacked and configure rapiddweller-benerator-ce application to execute existing demo files.
If you would like to reach out to the maintainers, contact us via our Contact-Form or email us at [email protected].
Please see our Contributing guidelines. For releasing see our release creation guide. Check out the maintainers website!