当前位置: 首页 > 科技观察

Python中的Dask是什么,它如何帮助您进行数据分析?

时间:2023-03-15 15:40:20 科技观察

前言Python由于其易用性而成为最流行的语言,它提供了许多库,使程序员能够开发更强大的软件来并行运行模型和数据转换。有一个库提供并行计算、加速算法,甚至允许您将NumPy和pandas与XGBoost库集成。让我们结识。什么是DaskDask是一个开源项目,允许开发人员在他们的软件上与scikit-learn、pandas和NumPy协作。这是一个非常通用的工具,可以处理各种各样的工作负载。该工具包括两个重要部分;动态任务调度和大数据采集。上一节与Luigi、Celery和Airflow非常相似,但它专门针对交互式计算工作负载进行了优化。后一部分包括数据框、并行数组和扩展到pandas和NumPy等流行接口的列表。事实上,Dask的创建者MatthewRocklin先生证实,Dask最初是为了并行化Pandas和NumPy而创建的,尽管它现在提供了比一般并行系统更多的好处。Dask的数据帧是扩展pandas工作流和支持时间序列的应用程序的理想选择。此外,Dask阵列还为生物医学应用和机器学习算法提供多维数据分析。可扩展性Dask如此流行的原因是它使Python中的分析具有可扩展性。这个工具的神奇之处在于它需要最少的代码更改。该工具在具有超过1000个核心的弹性集群上运行!此外,您可以在处理数据的同时并行运行此代码,从而简化执行时间和等待时间!该工具完全能够将复杂的计算转换为计划、构建甚至优化为图形。这就是为什么在10tb上运行的公司可以选择此工具作为他们的首选。Dask还允许您为数据数组构建管道,这些管道稍后可以传输到相关的计算资源。总之,这个工具不仅仅是pandas的并行版本。它是如何工作的现在我们了解了Dask的基本概念,让我们看一个示例代码以进一步理解:importdask.arrayasdaf=h5py.File('myfile.hdf5')x=da.from_array(f['/big-data'],chunks=(1000,1000))对于那些熟悉数据框和数组的人来说,这几乎就是您放置数据的地方。在这个例子中,你已经把数据放到了Dask版本中,你可以利用Dask提供的分发特性来运行类似使用pandas的功能。为何如此受欢迎作为PyData生成的现代框架,Dask因其并行处理能力而备受关注。这在处理大量数据(尤其是大于RAM的数据块)以获得有用的见解时非常有用。公司受益于Dask提供的强大分析,因为它可以在一台机器上进行高效的并行计算。这也是Gitential、Oxlabs、DataSwot、RedHat等跨国公司已经在日常工作系统中使用Dask的主要原因。总的来说,Dask非常受欢迎,因为:集成:Dask提供与许多流行工具的集成,包括PySpark、pandas、OpenRefine和NumPy。动态任务调度:提供动态任务调度,支持多种工作负载。熟悉的API:该工具不仅允许开发人员以最少的代码重写来扩展工作流,而且还与这些工具甚至它们的API很好地集成。横向扩展集群:Dask弄清楚如何分解大型计算并有效地将它们路由到分布式硬件。安全性:Dask支持使用TLS/SSL证书进行加密和身份验证。优点和缺点让我们权衡一下这方面的优点和缺点。使用Dask的优点:它使用pandas提供并行计算。Dask提供了与pandasAPI类似的语法,因此使用起来不那么困难。使用Dask的缺点:在Dask的情况下,与Spark不同,如果您想在创建集群之前尝试该工具,您将找不到独立模式。它的可扩展性不如Scala和R。