在hpc集群上处理大数据的几个乏味方面的库。
idact的Python项目详细描述
欢迎来到IDact!
idact或交互式数据分析便利工具是一个python 3.5+库 它处理了处理大数据的几个乏味的方面 在HPC群集上。
是给谁的?
数据科学家或大数据爱好者,他们:
- 对Jupyter Notebook执行计算, 使用库,如NumPy, pandas, Matplotlib, 或者bokeh。
- 使用Slurm访问hpc集群 作为作业调度程序。
- 希望使用 Dask.distributed,图书馆 用于分布式计算。
- 可能会发现部署jupyter笔记本需要太多的手动操作 每次他们需要的时候在集群上执行dask。
要求
python 3.5+。
客户
- 操作系统:Windows或Linux
- 推荐:Jupyter Notebook 或JupyterLab
集群
- 操作系统:Linux
- 作业计划程序:Slurm Workload Manager
- ssh访问登录(head)节点。
- 在节点之间共享$HOME目录。
- Dask.distributed和bokeh。
- Jupyter Notebook 或JupyterLab
安装
python -m pip install idact
如果使用Conda,则可能需要更新 首先是您的环境:
conda update --all
代码示例
访问群集
集群可以通过ssh通过公钥/私钥对访问。
fromidactimport*cluster=add_cluster(name="short-cluster-name",user="user",host="login-node.cluster.example.com",port=22,auth=AuthMethod.PUBLIC_KEY,key="~/.ssh/id_rsa",install_key=False)node=cluster.get_access_node()node.connect()
教程: 01. Connecting to a cluster
分配和释放节点
节点被分配为slurm作业。 之后,它们可以用于部署。
importbitmathnodes=cluster.allocate_nodes(nodes=8,cores=12,memory_per_node=bitmath.GiB(120),walltime=Walltime(hours=1,minutes=30),native_args={'--partition':'debug','--account':'data-analysis-group'})try:nodes.wait(timeout=120.0)exceptTimeoutError:nodes.cancel()
部署Jupyter笔记本
Jupyter笔记本部署在群集节点上, 通过ssh隧道访问。
nb=nodes[0].deploy_notebook()nb.open_in_browser()
部署分布式磁盘
部署了分布式调度程序和工作进程 在群集节点上,其仪表板可用 通过ssh隧道。
dd=deploy_dask(nodes[1:])client=dd.get_client()client.submit(...)dd.diagnostics.open_all()
教程: 04. Deploying Dask, 09. Demo analysis
管理群集配置
可以保存、加载本地和远程群集配置, 并从群集中复制。
save_environment()load_environment()push_environment(cluster)pull_environment(cluster)
教程: 01. Connecting to a cluster, 05. Configuring idact on a cluster
管理部署
可以在运行程序之间序列化和复制部署对象 实例,本地或远程。
cluster.push_deployment(nodes)cluster.push_deployment(nb)cluster.push_deployment(dd)cluster.pull_deployments()
教程: 06. Working on a cluster, 07. Adjusting timeouts
快速部署应用程序
快速部署应用程序分配节点并部署jupyter笔记本 从命令行:
idact-notebook short-cluster-name --nodes 3 --walltime 0:20:00
教程: 08. Using the quick deployment app
文档
文档包含详细的API描述、教程笔记本, 以及其他有用的信息。
源代码
源代码在GitHub上可用。
许可证
麻省理工学院执照。
这个图书馆是在Leszek Grzanka博士的指导下开发的 作为计算机科学专业学士学位的最后一个项目 在计算机科学、电子和电信学院 在克拉科夫的agh科技大学。