如果使用 python 计算 kmeans 聚类,使用 BigQuery 作为 Dataproc 的 ndarrays 的数据源是不是有优势

Posted

技术标签:

【中文标题】如果使用 python 计算 kmeans 聚类,使用 BigQuery 作为 Dataproc 的 ndarrays 的数据源是不是有优势【英文标题】:Are there advantages to using BigQuery as a data source of ndarrays for Dataproc if calculating kmeans clustering using python如果使用 python 计算 kmeans 聚类,使用 BigQuery 作为 Dataproc 的 ndarrays 的数据源是否有优势 【发布时间】:2016-11-24 17:23:06 【问题描述】:

我从 Dataproc 的文档中了解到,它可以使用 pyspark 从 BigQuery 读取数据,但是在形状 (xxxxxxx) 的 ndarray 上运行 kmeans 集群时比从 CloudStorage 读取文件表示形式有优势

【问题讨论】:

【参考方案1】:

如果您不打算在 BigQuery 中对您的数据进行任何其他操作,那么对于此用例,您绝对不会通过将数据存储在 BigQuery 中获得任何好处。

每https://cloud.google.com/hadoop/bigquery-connector,

适用于 Hadoop 的 BigQuery 连接器将数据下载到您的 Google 运行 Hadoop 作业之前的 Cloud Storage 存储分区。

换句话说,连接器不执行谓词下推或以其他方式利用 BigQuery 进行计算;此连接器只是一种方便的方法,可让您访问您已在 BigQuery 中存储或生成的数据。

【讨论】:

通过将 BigQuery 作为数据源,您是否希望看到性能提升或以其他方式获得更具可扩展性的解决方案? 否;实际上恰恰相反。您的数据需要从 BigQuery 导出到 Google Cloud Storage 才能供 Dataproc 访问,因此您会增加查询的延迟时间。

以上是关于如果使用 python 计算 kmeans 聚类,使用 BigQuery 作为 Dataproc 的 ndarrays 的数据源是不是有优势的主要内容,如果未能解决你的问题,请参考以下文章

如何评估 R 中的 kmeans 聚类性能

Python-机器学习-KMeans聚类算法

如何使用 KMEANS 计算每个记录的聚类距离?

原理+代码|Python实现 kmeans 聚类分析

kmeans与kmeans++的python实现

python - 如何在python中的4维数据上绘制kmeans聚类?