You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Lawrence Chan (Jira)" <ji...@apache.org> on 2020/08/21 18:11:00 UTC

[jira] [Created] (ARROW-9820) Plugin Architecture for Filesystem and File IO

Lawrence Chan created ARROW-9820:
------------------------------------

             Summary: Plugin Architecture for Filesystem and File IO
                 Key: ARROW-9820
                 URL: https://issues.apache.org/jira/browse/ARROW-9820
             Project: Apache Arrow
          Issue Type: New Feature
          Components: C++
            Reporter: Lawrence Chan


Adding a new custom filesystem with corresponding file i/o streams is quite a process at the moment.  Looks like HDFS and S3FS are basically hardcoded in many places.  It would be useful to develop a plugin system to allow users to interface with other data stores without maintaining a permanent fork with hardcoded changes.

We can either do runtime plugins or compile-time plugins.  Runtime is more user-friendly, but with C++, ABI compatibility is fairly delicate.  So we would either want to use a C ABI or accept a youre-on-your-own situation where the user is expected to be very careful with versioning and compiler flags.

With compile-time plugins, maybe there's a way to have the cmake machinery build third party code and also register those new URI schemes automatically.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)