在hpc集群上处理大数据的几个乏味方面的库。

idact的Python项目详细描述


欢迎来到IDact!

Build Status - masterBuild Status - developCoverage Status - masterPyPI - Python VersionPyPI - LicensePyPI

idact或交互式数据分析便利工具是一个python 3.5+库 它处理了处理大数据的几个乏味的方面 在HPC群集上。

是给谁的?

数据科学家或大数据爱好者,他们:

  • Jupyter Notebook执行计算, 使用库,如NumPypandasMatplotlib, 或者bokeh
  • 使用Slurm访问hpc集群 作为作业调度程序。
  • 希望使用 Dask.distributed,图书馆 用于分布式计算。
  • 可能会发现部署jupyter笔记本需要太多的手动操作 每次他们需要的时候在集群上执行dask。

要求

python 3.5+。

客户

集群

安装

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()

教程: 02. Allocating nodes

部署Jupyter笔记本

Jupyter笔记本部署在群集节点上, 通过ssh隧道访问。

nb=nodes[0].deploy_notebook()nb.open_in_browser()

教程: 03. Deploying Jupyter

部署分布式磁盘

部署了分布式调度程序和工作进程 在群集节点上,其仪表板可用 通过ssh隧道。

dd=deploy_dask(nodes[1:])client=dd.get_client()client.submit(...)dd.diagnostics.open_all()

教程: 04. Deploying Dask09. Demo analysis

管理群集配置

可以保存、加载本地和远程群集配置, 并从群集中复制。

save_environment()load_environment()push_environment(cluster)pull_environment(cluster)

教程: 01. Connecting to a cluster05. Configuring idact on a cluster

管理部署

可以在运行程序之间序列化和复制部署对象 实例,本地或远程。

cluster.push_deployment(nodes)cluster.push_deployment(nb)cluster.push_deployment(dd)cluster.pull_deployments()

教程: 06. Working on a cluster07. 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科技大学。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从文件扫描二维字符串数组   java SOAP请求xml内容作为字符串:prolog中不允许内容,并且文件过早结束错误   java从db类获取列表<string>,并存储在其他类中   java libgdx progressbar未显示在主屏幕上   如何正确地为在Java中的ArrayList中实现Compariable的对象实现方法?   在JavaSwing中删除JTable中的复选框   Web请求中的java默认地址:sendRedirect:绝对路径与相对路径   java找不到符号。正在查找超类而不是子类   java如何从开放位置代码获取完整代码   java在Android中有没有一种在seekbar上画线的方法?   java如何访问索引页?   java设置POI XWPFParagraph行间距   java在使用jCo(3.x))访问SAP表时未获取数据   使用POST客户端的java JSON字符串   Raspberry Pi3b+上嵌入的java JavaFX:在触摸屏上多次按下后,错误的按钮被激活   java控制操作的奇怪形式   maven java。lang.NoSuchMethodError:在。项目实体预订预订getOrCreateDayDetail   java注释HBM的长度是多少?   持久化实体对象时发生java Hibernate IllegalArgumentException:无法将字段“id”设置为实体对象?