繁体   English   中英

数据位置如何与IBM Bluemix上的OpenStack Swift一起使用?

[英]How does data locality work with OpenStack Swift on IBM Bluemix?

我目前正在使用IBM Bluemix中的Apache Spark服务。 由于IBM Cloud依赖OpenStack Swift作为此服务的数据存储,我想知道该架构是否存在任何数据位置(至少可能)。

如果我使用HDFS,SparkDriver会向HDFS namenode询问包含文件各个块的datanode,然后将工作安排到SparkWorkers。

所以我检查了Swift API有一个Range参数,它允许SparkWorker至少只读取本地块,但SparkDriver如何找出这些范围?

有任何想法吗?

这是计算和存储的分解。 也就是说,火花计算节点根本不与快速群集存储节点共享。 这为与存储分开的计算的可扩展性带来了好处,反之亦然。 但是在这个模型中,根据定义,你不能拥有数据局部性。 因此,粗略地说,这是如何工作的,每个火花执行器都可以从快速集群中拉出自己的对象块范围,这样每个执行器都不需要拉入所有对象数据,只能在它自己的部分上运行; 这将是低效的。 但是仍然从远程swift集群中拉出块,然后不是本地的。 这里唯一的问题是将块拉入每个执行程序所需的时间,这样就不会减慢速度。 对于Bluemix Apache Spark服务和Bluemix或Softlayer对象存储服务,它们之间存在低延迟和快速网络。

re:“由于IBM Cloud依赖OpenStack Swift作为此服务的数据存储”。 随着测试版的进展,spark服务将提供其他数据源,因此不会100%依赖。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM