├── .gitignore ├── LICENSE ├── README.md ├── json-mapreduce.iml ├── lib ├── commons-io-2.0.1.jar ├── commons-lang-2.6.jar ├── commons-logging-1.1.1.jar ├── hadoop-core-0.20.2-cdh3u1.jar └── junit-4.10.jar └── src ├── main └── java │ └── com │ └── alexholmes │ └── json │ ├── mapreduce │ ├── ExampleJob.java │ ├── HadoopCompat.java │ ├── MultiLineJsonInputFormat.java │ └── MultiLineJsonRecordReader.java │ └── parser │ ├── JsonLexer.java │ └── PartitionedJsonParser.java └── test ├── java └── com │ └── alexholmes │ └── json │ ├── mapreduce │ └── TestMultiLineJsonRecordReader.java │ └── parser │ ├── JsonLexerTest.java │ ├── PartitionedJsonParserMaxObjectOld.java │ ├── PartitionedJsonParserMaxStreamOld.java │ ├── PartitionedJsonParserNoSeekTest.java │ ├── PartitionedJsonParserOffsetTest.java │ └── PartitionedJsonParserSeekTest.java └── resources ├── lexer-tests ├── array_objects_complex.json ├── array_objects_complex.json.state ├── array_objects_empty.json ├── array_objects_empty.json.state ├── array_of_numbers.json ├── array_of_numbers.json.state ├── object_complex.json ├── object_complex.json.state ├── object_simple.json ├── object_simple.json.state ├── object_string_escaping.json └── object_string_escaping.json.state └── parser-tests ├── noseek ├── array_objects_complex.json ├── array_objects_complex.json.expected1.json ├── array_objects_complex2.json ├── array_objects_complex2.json.expected1.json ├── array_objects_complex2.json.expected2.json ├── array_objects_same_name_in_child.json ├── array_objects_same_name_in_child.json.expected1.json ├── object_simple.json ├── object_simple.json.expected1.json ├── object_string_escaping.json └── object_string_escaping.json.expected1.json └── seek ├── child-object-before-member ├── expected.1.json └── input.json ├── child-object-before-member2 ├── expected.1.json └── input.json ├── multi ├── expected.1.json ├── expected.2.json └── input.json ├── no-elements └── input.json ├── seek-into-mid-object-1 ├── expected.1.json └── input.json ├── seek-into-mid-object-2 ├── expected.1.json └── input.json ├── seek-into-mid-object-3 ├── expected.1.json └── input.json ├── seek-into-string-1 ├── expected.1.json └── input.json ├── seek-into-string-2 ├── expected.1.json └── input.json └── simple ├── expected.1.json └── input.json /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/README.md -------------------------------------------------------------------------------- /json-mapreduce.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/json-mapreduce.iml -------------------------------------------------------------------------------- /lib/commons-io-2.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/lib/commons-io-2.0.1.jar -------------------------------------------------------------------------------- /lib/commons-lang-2.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/lib/commons-lang-2.6.jar -------------------------------------------------------------------------------- /lib/commons-logging-1.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/lib/commons-logging-1.1.1.jar -------------------------------------------------------------------------------- /lib/hadoop-core-0.20.2-cdh3u1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/lib/hadoop-core-0.20.2-cdh3u1.jar -------------------------------------------------------------------------------- /lib/junit-4.10.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/lib/junit-4.10.jar -------------------------------------------------------------------------------- /src/main/java/com/alexholmes/json/mapreduce/ExampleJob.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/main/java/com/alexholmes/json/mapreduce/ExampleJob.java -------------------------------------------------------------------------------- /src/main/java/com/alexholmes/json/mapreduce/HadoopCompat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/main/java/com/alexholmes/json/mapreduce/HadoopCompat.java -------------------------------------------------------------------------------- /src/main/java/com/alexholmes/json/mapreduce/MultiLineJsonInputFormat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/main/java/com/alexholmes/json/mapreduce/MultiLineJsonInputFormat.java -------------------------------------------------------------------------------- /src/main/java/com/alexholmes/json/mapreduce/MultiLineJsonRecordReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/main/java/com/alexholmes/json/mapreduce/MultiLineJsonRecordReader.java -------------------------------------------------------------------------------- /src/main/java/com/alexholmes/json/parser/JsonLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/main/java/com/alexholmes/json/parser/JsonLexer.java -------------------------------------------------------------------------------- /src/main/java/com/alexholmes/json/parser/PartitionedJsonParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/main/java/com/alexholmes/json/parser/PartitionedJsonParser.java -------------------------------------------------------------------------------- /src/test/java/com/alexholmes/json/mapreduce/TestMultiLineJsonRecordReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/java/com/alexholmes/json/mapreduce/TestMultiLineJsonRecordReader.java -------------------------------------------------------------------------------- /src/test/java/com/alexholmes/json/parser/JsonLexerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/java/com/alexholmes/json/parser/JsonLexerTest.java -------------------------------------------------------------------------------- /src/test/java/com/alexholmes/json/parser/PartitionedJsonParserMaxObjectOld.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/java/com/alexholmes/json/parser/PartitionedJsonParserMaxObjectOld.java -------------------------------------------------------------------------------- /src/test/java/com/alexholmes/json/parser/PartitionedJsonParserMaxStreamOld.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/java/com/alexholmes/json/parser/PartitionedJsonParserMaxStreamOld.java -------------------------------------------------------------------------------- /src/test/java/com/alexholmes/json/parser/PartitionedJsonParserNoSeekTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/java/com/alexholmes/json/parser/PartitionedJsonParserNoSeekTest.java -------------------------------------------------------------------------------- /src/test/java/com/alexholmes/json/parser/PartitionedJsonParserOffsetTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/java/com/alexholmes/json/parser/PartitionedJsonParserOffsetTest.java -------------------------------------------------------------------------------- /src/test/java/com/alexholmes/json/parser/PartitionedJsonParserSeekTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/java/com/alexholmes/json/parser/PartitionedJsonParserSeekTest.java -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/array_objects_complex.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/lexer-tests/array_objects_complex.json -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/array_objects_complex.json.state: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/lexer-tests/array_objects_complex.json.state -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/array_objects_empty.json: -------------------------------------------------------------------------------- 1 | [{},{}] -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/array_objects_empty.json.state: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/lexer-tests/array_objects_empty.json.state -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/array_of_numbers.json: -------------------------------------------------------------------------------- 1 | [ 100, 500 ] -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/array_of_numbers.json.state: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/lexer-tests/array_of_numbers.json.state -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/object_complex.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/lexer-tests/object_complex.json -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/object_complex.json.state: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/lexer-tests/object_complex.json.state -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/object_simple.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/lexer-tests/object_simple.json -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/object_simple.json.state: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/lexer-tests/object_simple.json.state -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/object_string_escaping.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/lexer-tests/object_string_escaping.json -------------------------------------------------------------------------------- /src/test/resources/lexer-tests/object_string_escaping.json.state: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/lexer-tests/object_string_escaping.json.state -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/array_objects_complex.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/array_objects_complex.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/array_objects_complex.json.expected1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/array_objects_complex.json.expected1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/array_objects_complex2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/array_objects_complex2.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/array_objects_complex2.json.expected1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/array_objects_complex2.json.expected1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/array_objects_complex2.json.expected2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/array_objects_complex2.json.expected2.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/array_objects_same_name_in_child.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/array_objects_same_name_in_child.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/array_objects_same_name_in_child.json.expected1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/array_objects_same_name_in_child.json.expected1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/object_simple.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/object_simple.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/object_simple.json.expected1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/object_simple.json.expected1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/object_string_escaping.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/object_string_escaping.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/noseek/object_string_escaping.json.expected1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/noseek/object_string_escaping.json.expected1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/child-object-before-member/expected.1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/child-object-before-member/expected.1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/child-object-before-member/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/child-object-before-member/input.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/child-object-before-member2/expected.1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/child-object-before-member2/expected.1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/child-object-before-member2/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/child-object-before-member2/input.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/multi/expected.1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/multi/expected.1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/multi/expected.2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/multi/expected.2.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/multi/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/multi/input.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/no-elements/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/no-elements/input.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/seek-into-mid-object-1/expected.1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/seek-into-mid-object-1/expected.1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/seek-into-mid-object-1/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/seek-into-mid-object-1/input.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/seek-into-mid-object-2/expected.1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/seek-into-mid-object-2/expected.1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/seek-into-mid-object-2/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/seek-into-mid-object-2/input.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/seek-into-mid-object-3/expected.1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/seek-into-mid-object-3/expected.1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/seek-into-mid-object-3/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/seek-into-mid-object-3/input.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/seek-into-string-1/expected.1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/seek-into-string-1/expected.1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/seek-into-string-1/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/seek-into-string-1/input.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/seek-into-string-2/expected.1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/seek-into-string-2/expected.1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/seek-into-string-2/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/seek-into-string-2/input.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/simple/expected.1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/simple/expected.1.json -------------------------------------------------------------------------------- /src/test/resources/parser-tests/seek/simple/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexholmes/json-mapreduce/HEAD/src/test/resources/parser-tests/seek/simple/input.json --------------------------------------------------------------------------------