Apache DataFu is a collection of libraries for working with large-scale data in Hadoop. The project was inspired by the need for stable, well-tested libraries for data mining and statistics.
It consists of two libraries:
- Apache DataFu Pig: a collection of user-defined functions for Apache Pig
- Apache DataFu Hourglass: an incremental processing framework for Apache Hadoop in MapReduce
For more information please visit the website:
If you'd like to jump in and get started, check out the corresponding guides for each library:
- Introducing DataFu
- DataFu: The WD-40 of Big Data
- DataFu 1.0
- DataFu's Hourglass: Incremental Data Processing in Hadoop
- A Brief Tour of DataFu
- Building Data Products at LinkedIn with DataFu
- Hourglass: a Library for Incremental Processing on Hadoop (IEEE BigData 2013)
Bugs and feature requests can be filed here. For other help please see the discussion group.
The Apache DataFu Pig library can be built by running the command below. More information about working with the source code can be found in the DataFu Pig Contributing Guide.
./gradlew assemble
The built JAR can be found under datafu-pig/build/libs
by the name datafu-pig-x.y.z.jar
, where x.y.z is the version.
This command generates the eclipse project and classpath files:
./gradlew eclipse
To clean up the eclipse files:
./gradlew cleanEclipse
To run all the tests:
./gradlew test
To run tests for a single class, use the test.single
property. For example, to run only the QuantileTests:
./gradlew :datafu-pig:test -Dtest.single=QuantileTests
The tests can also be run from within eclipse. Note that you may run out of heap when executing tests in Eclipse. To fix this adjust your heap settings for the TestNG plugin. Go to Eclipse->Preferences. Select TestNG->Run/Debug. Add "-Xmx1G" to the JVM args.
The Apache DataFu Pig library can be built by running the commands below. More information about working with the source code can be found in the DataFu Hourglass Contributing Guide.
cd contrib/hourglass
ant jar