现阶段数据科学两个特点:1.数据量大;2.处理复杂。 这两个特点决定了数据科学的数据处理环境必须要有以下两个功能:
- 多个层面的并行处理
- 数据处理现场保存和恢复
- 数据处理历史的回溯可重现
关于前两点,在服务器端使用tmux+ranger+emacs是比较好的环境。 简要介绍一下:
- tmux可以实现在数据处理的第一层(即同时做两个project,同时做两个数据任务,打开多个终端进行数据处理)进行并行处理。
- ranger可以把linux命令,自定义脚本,映射成快捷键。
- emacs可以做代码编辑。
emacs设置成每一个tmux的session和window启动一个daemon,这样在每一个tmux的window中打开的emacsclient可以实现互不干扰,具体优点如下:
- 在每一个emaclient 中可以打开各自shell运行ess交互界面,可以进行并行交互
- 保存并行数据处理现场
以上方式要大大优于emacs+tramp的方式进行远程操作。
第三点,可以在cron中添加定时代码备份功能。例如,将projects文件下所有的文件夹架构和其对应的脚本代码复制到固定文件夹中,然后单独进行Git版本管理,可以实现历史回溯。