Dask和Spark之间的交互
项目描述
从Spark启动Dask,从Dask启动Spark。该项目尚未成熟。
示例
pip install dask-spark
从Dask集群创建Spark集群
>>> from dask.distributed import Client
>>> client = Client('scheduler-address:8786')
>>> client
<Client: scheduler='tcp://scheduler-address:8786' processes=8 cores=64>
>>> from dask_spark import dask_to_spark
>>> sc = dask_to_spark(client)
>>> sc
<pyspark.context.SparkContext at 0x7f62fa4bb550>
从Spark集群创建Dask集群
>>> import pyspark
>>> sc = pyspark.SparkContext('local[4]')
<pyspark.context.SparkContext at 0x7f8b908b0128>
>>> from dask_spark import spark_to_dask
>>> client = spark_to_dask(sc)
>>> client
<Client: scheduler="'tcp://127.0.0.1:8786'">
要求和如何工作
这依赖于Dask.distributed的相对较新版本。
对于从Dask启动Spark,假设您已安装Spark,并且 start-master.sh 和 start-slave.sh Spark脚本可用在工作者的PATH上。这将在Dask调度器上启动一个长时间运行的Spark主进程,并在Dask工作者上启动长时间运行的Spark从属进程。每个工作者将只有一个从属。我们将核心数和内存量设置为与Dask工作者和可用内存匹配。
当从Spark启动Dask时,这将阻塞Spark集群。我们在本地机器上启动一个调度器,然后运行一个长时间运行的功能,使用 RDD.mapPartitions 启动一个Dask工作者。
TODO
[ ] 这很可能会在非平凡情况下失败
[ ] 启用用户指定Java标志以用于内存和核心使用
[ ] 支持每个Dask集群多个Spark集群
项目详情
关闭
dask-spark-0.0.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cac382297f17cc48308baea9f3277cae46c3a5d3a8ee1be4f68720a10e438a0c |
|
MD5 | 0211073cd5e64b9d6445905ffcecec3d |
|
BLAKE2b-256 | a80ddd3429bba41a7ca00c81b8f9e97baf43439c8d9b4ba4f072d34888905b20 |
关闭
dask_spark-0.0.2-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 119c00115f21d793671c385d9ca44e480130374cb40140132cef82517ba3def3 |
|
MD5 | 1268ec75445356624e5015f3ff723437 |
|
BLAKE2b-256 | 71aa8473e64e11fd8c11374b2d0c7924b678b16a412a0ca858e69cbe85a3450d |