Class: Spark::Serializer::Cartesian
- Defined in:
- lib/spark/serializer/cartesian.rb
Constant Summary
Constants included from Constant
Constant::ACCUMULATOR_ACK, Constant::CREATE_WORKER, Constant::DATA_EOF, Constant::KILL_WORKER, Constant::KILL_WORKER_AND_WAIT, Constant::SUCCESSFULLY_KILLED, Constant::UNSUCCESSFUL_KILLING, Constant::WORKER_DONE, Constant::WORKER_ERROR
Constants included from Helper::Serialize
Helper::Serialize::DIRECTIVE_CHARS, Helper::Serialize::DIRECTIVE_DOUBLES_BIG_ENDIAN, Helper::Serialize::DIRECTIVE_DOUBLE_BIG_ENDIAN, Helper::Serialize::DIRECTIVE_INTEGERS_BIG_ENDIAN, Helper::Serialize::DIRECTIVE_INTEGER_BIG_ENDIAN, Helper::Serialize::DIRECTIVE_LONGS_BIG_ENDIAN, Helper::Serialize::DIRECTIVE_LONG_BIG_ENDIAN, Helper::Serialize::DIRECTIVE_UNSIGNED_CHARS
Instance Attribute Summary collapse
-
#first ⇒ Object
readonly
Returns the value of attribute first.
-
#second ⇒ Object
readonly
Returns the value of attribute second.
Attributes inherited from Base
Instance Method Summary collapse
-
#batched? ⇒ Boolean
Little hack Data does not have to be batched but items are added by <<.
- #deserialize(item1, item2) ⇒ Object
- #load_next_from_io(io, lenght) ⇒ Object
- #set(first, second) ⇒ Object
Methods inherited from Base
#==, #dump, #dump_to_java, #initialize, #load, #load_from_io, #load_from_iterator, #read_int, #try, #unbatch!
Methods included from Helper::Serialize
#pack_double, #pack_doubles, #pack_int, #pack_ints, #pack_long, #pack_longs, #pack_unsigned_chars, #unpack_chars, #unpack_int, #unpack_long
Constructor Details
This class inherits a constructor from Spark::Serializer::Base
Instance Attribute Details
#first ⇒ Object (readonly)
Returns the value of attribute first.
5 6 7 |
# File 'lib/spark/serializer/cartesian.rb', line 5 def first @first end |
#second ⇒ Object (readonly)
Returns the value of attribute second.
5 6 7 |
# File 'lib/spark/serializer/cartesian.rb', line 5 def second @second end |
Instance Method Details
#batched? ⇒ Boolean
Little hack Data does not have to be batched but items are added by <<
15 16 17 |
# File 'lib/spark/serializer/cartesian.rb', line 15 def batched? true end |
#deserialize(item1, item2) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/spark/serializer/cartesian.rb', line 25 def deserialize(item1, item2) deserialized_item1 = @first.deserialize(item1) deserialized_item2 = @second.deserialize(item2) deserialized_item1 = [deserialized_item1] unless @first.batched? deserialized_item2 = [deserialized_item2] unless @second.batched? deserialized_item1.product(deserialized_item2) end |
#load_next_from_io(io, lenght) ⇒ Object
19 20 21 22 23 |
# File 'lib/spark/serializer/cartesian.rb', line 19 def load_next_from_io(io, lenght) item1 = io.read(lenght) item2 = io.read_string deserialize(item1, item2) end |
#set(first, second) ⇒ Object
7 8 9 10 11 |
# File 'lib/spark/serializer/cartesian.rb', line 7 def set(first, second) @first = first @second = second self end |