Hi JB,
My proposals are based on the current IOChannelFactory, and how they are
used in FileBasedSink.

Let's me spend more time to investigate Hadoop FileSystem interface.
--
Pei

On Thu, Nov 17, 2016 at 1:21 AM, Jean-Baptiste Onofré <j...@nanthrax.net>
wrote:

> By the way, Pei, for the record: why introducing BeamFileSystem and not
> using the Hadoop FileSystem interface ?
>
> Thanks
> Regards
> JB
>
> On 11/17/2016 01:09 AM, Pei He wrote:
>
>> Hi,
>>
>> I am working on BEAM-59
>> <https://issues.apache.org/jira/browse/BEAM-59> "IOChannelFactory
>> redesign". The goals are:
>>
>> 1. Support file-based IOs (TextIO, AvorIO) with user-defined file system.
>>
>> 2. Support configuring any user-defined file system.
>>
>> And, I drafted the design proposal in two parts to address them in order:
>>
>> Part 1: IOChannelFactory Redesign
>> <https://docs.google.com/document/d/11TdPyZ9_zmjokhNWM3Id-XJ
>> sVG3qel2lhdKTknmZ_7M/edit#>
>>
>> Summary:
>>
>> Old API: WritableByteChannel create(String spec, String mimeType);
>>
>> New API: WritableByteChannel create(URI uri, CreateOptions options);
>>
>> Noticeable proposed changes:
>>
>>
>>    1.
>>
>>    Includes the options parameter in most methods to specify behaviors.
>>    2.
>>
>>    Replace String with URI to include scheme for files/directories
>>    locations.
>>    3.
>>
>>    Require file systems to provide a SeekableByteChannel for read.
>>    4.
>>
>>    Additional methods, such as getMetadata(), rename() e.t.c
>>
>>
>> Part 2: Configurable BeamFileSystem
>> <https://docs.google.com/document/d/1-7vo9nLRsEEzDGnb562PuL4
>> q9mUiq_ZVpCAiyyJw8p8/edit#heading=h.p3gc3colc2cs>
>>
>> Summary:
>>
>> Old API: IOChannelUtils.getFactory(glob).match(glob);
>>
>> New API: BeamFileSystems.getFileSystem(glob, config).match(glob);
>>
>>
>> Looking for comments and feedback.
>>
>> Thanks
>>
>> --
>>
>> Pei
>>
>>
> --
> Jean-Baptiste Onofré
> jbono...@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Reply via email to