gusucode.com > bigdata 工具箱 matlab源码程序 > bigdata/+matlab/+bigdata/+internal/+io/SequenceFileArrayWriter.m

    classdef SequenceFileArrayWriter < matlab.bigdata.internal.io.Writer & matlab.mixin.Copyable
%SEQUENCEARRAYWRITER A writer to add tall data to Sequence files on disk.
%   SequenceArrayWriter Methods:
%   add - Add array values to Sequence Files
%
%   See also datastore, tall, mapreduce.

%   Copyright 2016 The MathWorks, Inc.
    properties (SetAccess = immutable)
        Serializer;
    end

    properties (Constant, Access = private)
        OUTPUT_FILE_NAME_FORMAT = 'part-%05i-snapshot.seq';
    end

    methods
        function obj = SequenceFileArrayWriter(arrayIdx, location)
            import matlab.bigdata.internal.io.SequenceFileArrayWriter;
            filename = fullfile(location, ...
                sprintf(SequenceFileArrayWriter.OUTPUT_FILE_NAME_FORMAT,arrayIdx));
            obj.Serializer = matlab.mapreduce.internal.SequenceFileValueSerializer(filename);
        end

        function add(obj, value)
            obj.Serializer.serialize({value});
        end

        % In a Hadoop context, commit is dealt with by Hadoop.
        function commit(~)
        end
    end
end