当前位置: 首页 > 工具软件 > Feather > 使用案例 >

适合的才是最好的:记一次内网安装feather经历

傅安宁
2023-12-01

这两天在搞一个数据分析的小项目,自己想当然的认为数据量大,需要用一个快速保存和读取数据的工具,于是在网上想到了用feather, 于是就开始了一个复杂折腾的安装过程,中间遇到很多坑。
第一个坑:
由于数据分析环境是在一个内网(不能访问互联网),我想把feather安装到内网环境,于是从网上下了feather包装到内网,没想到他需要的一个pyarrow的依赖包,而这个依赖包没有下。
第二个坑:
我不知道feather到底需要多少依赖包,怕再出错,想着先在外网安好,然后把所有包都导出,最后整体放到内网环境安装,想法是好的,但实现的时候报错了,原来我的两边python版本不一致,导致部分包安装出错。
第三个坑:
于是,我把两边Python版本弄一致,都想弄成64位的python310,结果又出错了,原来 我的内网电脑是win7,而win7上面只适配python3.8以前的版本。
第四个坑:
我把两边python都换成了64位的python3.8,按照前面 的设想,终于安装好了,结果发现我内网电脑上的cx_Oracle不能用了,原来是因为cx_Oracle要用到的oci.dll是32位的,不能在64位的机子上跑。
第五个坑:
为了兼容cx_Oracle,我把两边环境都变成了32位python3.8,没想到pyarrow竟然只支持64位的python,也就是说feather也只支持64位python ! 也就是说我遇到了cx_Oracle与feather的矛盾,一个支持32位python,一个支持64位python,无语了。

这时候,我其实还有三个方案:

  1. 在内网电脑上弄一个32位python,弄一个64位python,然后需要用到cx_Oracle时用32位python, 需要用到feather时用64位python.
  2. 鉴于现在电脑普遍都是64位了,我需要换一个64位的oracle驱动oci.dll 这需要安装64位的oracle client和64位的pl/sql,那就意味着我现有pl/sql上的一个好用的插件可能在pl/sql上面不能再用了。
  3. 放弃使用feather。

我现在决定的方案是放弃使用feather,虽然他在存储和速度上很快,但是他的优势不值得我花更多的时间去折腾他了,况且我测试了下我的数据,我实际需要的数据也不算多:一个月最多5万条数据,我需要分析40个月的数据,也就是说最多只有200万条的数据,就算是用csv,也不会慢很多。

 类似资料: