There are no reviews yet. Be the first to send feedback to the community and the maintainers!
UP-TO-DATE fork with more recent maintenance is here: https://github.com/alexott/clojure-hadoop clojure-hadoop A library to assist in writing Hadoop MapReduce jobs in Clojure. by Stuart Sierra http://stuartsierra.com/ For stable releases, see http://stuartsierra.com/software/clojure-hadoop For more information on Clojure, http://clojure.org/ on Hadoop, http://hadoop.apache.org/ Also see my presentation about this library at http://vimeo.com/7669741 Copyright (c) Stuart Sierra, 2009. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can be found in the file LICENSE.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software. DEPENDENCIES This library requires Java 6 JDK, http://java.sun.com/ Building from source requires Apache Maven 2, http://maven.apache.org/ BUILDING If you downloaded the library distribution as a .zip or .tar file, everything is pre-built and there is nothing you need to do. If you downloaded the sources from Git, then you need to run the build with Maven. In the top-level directory of this project, run: mvn assembly:assembly This compiles and builds the JAR files. You can find these files in the "target" directory (replace ${VERSION} with the current version number of this library): clojure-hadoop-${VERSION}-examples.jar : This JAR contains all dependencies, including all of Hadoop 0.18.3. You can use this JAR to run the example MapReduce jobs from the command line. This file is ONLY for running the examples. clojure-hadoop-${VERSION}-job.jar : This JAR contains the clojure-hadoop libraries and Clojure 1.0. It is suitable for inclusion in the "lib" directory of a JAR file submitted as a Hadoop job. clojure-hadoop-${VERSION}.jar : This JAR contains ONLY the clojure-hadoop libraries. It can be placed in the "lib" directory of a JAR file submitted as a Hadoop job; that JAR must also include the Clojure 1.0 JAR. RUNNING THE EXAMPLES After building, copy the file from target/clojure-hadoop-${VERSION}-examples.jar to something short, like "examples.jar". Each of the *.clj files in the src/examples directory contains instructions for running that example. USING THE LIBRARY IN HADOOP After building, include the "clojure-hadoop-${VERSION}-job.jar" file in the lib/ directory of the JAR you submit as your Hadoop job. DEPENDING ON THE LIBRARY WITH MAVEN You can depend on clojure-hadoop in your Maven 2 projects by adding the following lines to your pom.xml: <dependencies> ... <dependency> <groupId>com.stuartsierra</groupId> <artifactId>clojure-hadoop</artifactId> <version>${VERSION}</version> </dependency> ... </dependencies> ... <repositories> ... <!-- For released versions: --> <repository> <id>stuartsierra-releases</id> <name>Stuart Sierra's personal Maven 2 release repository</name> <url>http://stuartsierra.com/maven2</url> </repository> <!-- For SNAPSHOT versions: --> <repository> <id>stuartsierra-snapshots</id> <name>Stuart Sierra's personal Maven 2 SNAPSHOT repository</name> <url>http://stuartsierra.com/m2snapshots</url> </repository> ... </repositories> USING THE LIBRARY This library provides different layers of abstraction away from the raw Hadoop API. Layer 1: clojure-hadoop.imports Provides convenience functions for importing the many classes and interfaces in the Hadoop API. Layer 2: clojure-hadoop.gen Provides gen-class macros to generate the multiple classes needed for a MapReduce job. See the example file "wordcount1.clj" for a demonstration of these macros. Layer 3: clojure-hadoop.wrap clojure-hadoop.wrap: provides wrapper functions that automatically convert between Hadoop Text objects and Clojure data structures. See the example file "wordcount2.clj" for a demonstration of these wrappers. Layer 4: clojure-hadoop.job Provides a complete implementation of a Hadoop MapReduce job that can be dynamically configured to use any Clojure functions in the map and reduce phases. See the example file "wordcount3.clj" for a demonstration of this usage. Layer 5: clojure-hadoop.defjob A convenient macro to configure MapReduce jobs with Clojure code. See the example files "wordcount4.clj" and "wordcount5.clj" for demonstrations of this macro.
component
Managed lifecycle of stateful objects in Clojurereloaded
Leiningen 2 project template with tools.namespace, profiles, and user.cljdependency
A data structure for representing dependency graphs in Clojurelazytest
(archived) New test framework for Clojureclass-diagram
Generate & display class hierarchy diagrams for Java classescljque
(archived) experiments with event streams in Clojureflow
(archived) Function definitions derived from graph declarations.frequencies
Basic statistical computations on frequency maps (histograms) in Clojuremapgraph
Basic in-memory graph database of maps with linksdotfiles
my configuration filesparallel-async
Examples of parallel processing with Clojure's core.asynccomponent.repl
Development utilities for the Component frameworklog.dev
Quick-start logging setup for Java or Clojure developmentclojure-rdf
(archived) RDF-manipulation library for Clojurevalidate
(archived) Composable data validation functionsstacktrace.raw
Undo the effect of Clojure stacktrace pretty-printersclojure-archetype
Maven 2 archetype for Clojure projectsclojure.walk2
Reimplementation of clojure.walk with protocolsaltlaw-backend
Back-end and web site code for www.altlaw.orgdevbox
Provisioning scripts for my personal development workstationneed
(archived) Clojure 'need' macro to replace use/require/referclasspath-manager
(archived) Nailgun add-on to run Java classes with configurable classpathhadoop-maven
(archived) Maven 2 POMs for Apache Hadoop projectsfind-on-github
Emacs functions to open current file on GitHub.compassword-store
My fork of 'pass' from http://www.passwordstore.org/pairhost
(archived) EC2 remote pairing development environmentcomponent.pedestal
Pedestal web server wrapper for Component systemsorg-mode
My copy of the org-mode repocljs-formatter
(archived) ClojureScript pretty-printer that utilizes the DOMnew-clojure-maven-plugin
(archived) leaner, meaner Clojure Maven pluginaltlaw-pdf
PDF-to-HTML conversion for www.altlaw.orgaltlaw-clojure-restlet
Clojure/Restlet integration for AltLaw.orgaltlaw-vocab
RDF vocabulary for AltLaw.orgpedestal-test-sse-close
Test case for when client closes Pedestal SSE connectionaltlaw-template
StringTemplate-based rendering library for AltLawaltlaw-crawler
HTTP Web crawler for AltLaw.orgclojure-time-trials
(archived) Performance tests for different programming techniques in Clojurebuildtest
Testing Maven / Hudson build & release process for Clojure & contrib librariesaltlaw-extract
Data extraction / parsing code for AltLaw.orgaltlaw-jruby
Custom JRuby build for AltLaw.orgaltlaw-parent
Parent POM for Maven 2 builds of AltLaw projectsLove Open Source and this site? Check out how you can help us